我想在Django中使用动态网址作为我数据库中的搜索选项。我为搜索词实现了输入文本字段,并为提示启动查询提交按钮。因此,当我单击按钮时,我的搜索结果的新网址应该包含文本字段中的术语(由用户编写)。
如何使用提交按钮而不是超链接实现动态网址?如何将文本字段的值放入我的网址?你能帮我吗?
这是我(非工作)代码的一部分:
urls.py
urlpatterns = patterns('',
url(r'^$', views.IndexView.as_view(), name='index'),
url(r'^search/(?P<term>\w{2}_[0-9.]+)/$', views.search, name='search'),)
views.py
def search(request, term ):
search_term = request.GET['term']
#generate results for search_term
return render(request, 'app/results.html', {'list_of_r': list_of_r})
results.html
<form action="{% url 'app:search/{{term}}' %}" method="get">
{% csrf_token %}
<input id="text_id" type="text" name="term" maxlength="20" />
<input type="submit" value="submit" name="submit"/>
</form>
答案 0 :(得分:0)
这不是你做表格的方式:但你不需要。表单提交的GET请求会自动包含表单中的参数,这是整点:所以如果您提交到路径/search
,则值为&#34; text_to_be_searched&#34;在您的术语字段中,URL应为&#34; / search?term = text_to_be_searched&#34;。你不需要做任何其他事情。