Skip to main content
 首页 » 编程设计

python之Django 表单输入和 Action 链接

2025年02月15日39thcjp

如何将表单输入传递给 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是您需要编写的函数来进行实际搜索。