簡體   English   中英

如何從搜索欄中獲取用戶輸入以顯示在頁面中? Django

[英]How do I get user input from search bar to display in a page? Django

Django 非常具有挑戰性,我仍然需要習慣代碼,目前,我只想在每次用戶輸入文本時顯示搜索欄,它會像標題一樣顯示我真的不知道如何解釋代碼告訴每次用戶在搜索欄中輸入時,它應該像標題一樣在頁面上顯示用戶輸入。

示例:用戶在搜索欄中輸入:cat 並顯示 cat 標題

在當前頁面顯示:

結果搜索:“貓”

HTML 代碼

<!-- Search Bar -->
<form action="{% url 'enc:search' %}" method="GET">
  {% csrf_token %}
  <input class="search" type="text" name="q" placeholder="Search">
</form>

在我的views.py中我只寫了這段代碼,我不知道寫什么。

視圖.py

def search (request):
    title = request.GET.get("q", "")

網址.py

urlpatterns = [
    path("", views.index, name="index"),
    path("search/", views.search, name="search"),

現在只是搜索欄輸入的一個簡單顯示,稍后我將在數據搜索中對其進行編碼,其中有一些文件可以集成搜索,但現在我真的需要一些幫助,我的大腦正在破解。 這有點可悲,我的意思是我知道這是一個簡單的代碼,但我不知道為什么我無法弄清楚。

如果您有關於如何在 Django 和 python 上做得更好的提示,請幫助我,這對我有很大幫助,感謝您的寶貴時間,我非常感謝。

搜索頁面.html:

<!-- Search Bar -->
<form action="{% url 'enc:search' %}" method="POST">
  {% csrf_token %}
  <input class="search" type="text" name="q" placeholder="Search">
  <input type="submit" value="Submit">
</form> 

視圖.py:

from django.shortcuts import render

def search (request):
    #defines what happens when there is a POST request
    if request.method == "POST":
        title = request.POST.get("q")
        return render(request,'new_template.html', { 'title' : title })


    #defines what happens when there is a GET request
    else:
        return render(request,'searchpage.html')

新模板.html:

<!DOCTYPE html>
{% load static %}
<html>
<head>
<title>search term</title>
</head>
<body>

<h1> {{ title }} </h1>

</body>
</html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM