如何从搜索栏中获取用户输入以显示在页面中?姜戈

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

Django 非常具有挑战性,我仍然需要习惯代码,目前,我只想在用户每次输入文本时显示搜索栏,它会像标题一样显示,我真的不知道如何解释代码告诉每次用户在搜索栏中输入时,它应该在页面上显示用户输入,如标题。

示例:用户在搜索栏中输入:cat 并显示猫标题

当前页显示:

Result search: "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只写了这段代码,不知道写什么

views.py

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

urls.py

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

现在只是搜索栏输入的简单显示,稍后我将在数据搜索中对其进行编码,其中有一些文件可以集成搜索,但现在我真的需要一些帮助,我的大脑正在崩溃。有点难过,我的意思是我知道这是一个简单的代码,但我不知道为什么我无法理解它。

如果您有关于如何更好地使用 Django 的提示,请帮助我 python 这对我有很大帮助,感谢您抽出宝贵时间,我非常感谢。

searchpage.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> 

views.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')

new_template.html:

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

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

</body>
</html>