Django:通过提交按钮动态网址

时间:2015-01-13 09:38:12

标签: django url button dynamic

我想在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>

1 个答案:

答案 0 :(得分:0)

这不是你做表格的方式:但你不需要。表单提交的GET请求会自动包含表单中的参数,这是整点:所以如果您提交到路径/search,则值为&#34; text_to_be_searched&#34;在您的术语字段中,URL应为&#34; / search?term = text_to_be_searched&#34;。你不需要做任何其他事情。