如何将表单输入传递给 Django 中的表单操作?我试过了,但没用
<form action="/search?search_term=q" method="get">
<input type="text" name="q">
<input type="submit" value="Search">
</form>
请您参考如下方法:
我假设您正在询问如何将 HTML 表单链接到 View 函数以进行处理。请注意,在 Django 中,我们不称它们为 Action 。
这是您放入 Django 模板中的搜索结果的基本形式和占位符:
<form action="/search" method="get">
<input type="text" name="q">
<input type="submit" value="Search">
</form>
{% if search_results %}
Display search results here.
{% endif %}
如果您输入 apple进入文本字段,然后单击此表单上的搜索按钮,它将向 /search?q=apple 发出 GET 请求.
您需要通过 URLconf 将请求路由到 View 函数以进行处理。
URLconf 中的条目可能如下所示:
from django.conf.urls import url
from app import views
urlpatterns = [
# ...
url(r'^search/$', views.search),
# ...
]
views.search是执行处理的 View 函数。这是一个可能的实现:
from django.shortcuts import render
def search(request):
q = request.GET.get('q')
if q is None:
return render(request, 'app/search.html')
search_results = perform_search(q)
context = { 'search_results': search_results }
return render(request, 'app/search.html', context)
在哪里perform_search是您需要编写的函数来进行实际搜索。
