这是我的查看功能:
def search(request):
c = {}
c.update(csrf(request))
if request.method == 'POST':
form = Search(request.POST)
if form.is_valid():
search_query=form.cleaned_data['query']
#1
pi=add.add(search_query)
return HttpResponse('polls/search.html',{'pi': pi}, c)
else:
return render_to_response('polls/search.html', c)
这是我的网址文件:
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^search/$', 'polls.views.search'),
url(r'^admin/', include(admin.site.urls)),
)
这是我的模板:
<form action="/polls/search" method="post">{% csrf_token %}
<p><label for="query_label">query:</label>
<input type="text" name="query_txt" id="query_txt_id" /></p>
<input type="submit" value="Submit" />
</form>
{% if pi %}
<ul>
{% for p in pi %}
<li>{{p}}</li>
{% endfor %}
</ul>
{% else %}
<p>No Results are available.</p>
{% endif %}
当我点击提交按钮时,它不会转到同一页面。它总是寻找像“民意调查/搜索”这样的另一条道路。但是,我的url文件中没有提到它。
你能帮我吗?答案 0 :(得分:1)
表单帖子是action
param中的url。由于您的行动参数为/poll/search
,因此会转到该网址。
答案 1 :(得分:0)
因为这是您指定为表单action
参数的内容。如果你想让它去其他地方,可以在那里放一个不同的值(如果你想让它转到同一页面,根本没有值)。