0

这是我的查看功能:

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 文件中的任何地方都没有提到它。

你能帮我么?

4

2 回答 2

1

action表单帖子在param中被制作为 url 。由于您的操作参数是/poll/search它转到该网址。

于 2012-11-09T10:23:30.693 回答
0

因为那是您指定为表单action参数的内容。如果您希望它转到其他地方,请在其中输入不同的值(如果您希望它转到同一页面,则根本没有值)。

于 2012-11-09T10:23:29.487 回答