Django找不到视图

时间:2015-08-05 11:56:50

标签: django

我是Django的新手 我试图在点击提交按钮时调用python函数/视图。

我已做了必要的更改,告诉url文件在哪里查看。

这是我网站的urls.py,我关注民意调查应用。

urlpatterns = [
url(r'^polls/', include('polls.urls')),
url(r'^admin/', include(admin.site.urls)),
]

这是民意调查的urls.py。

urlpatterns = [
# ex: /polls/
url(r'^$', views.index, name='index'),
# ex: /polls/5/
url(r'^(?P<question_id>[0-9]+)/$', views.detail, name='detail'),
# ex: /polls/5/results
url(r'^(?P<question_id>[0-9]+)/results/$', views.results, name='results'),
# ex: /polls/5/vote
url(r'^(?P<question_id>[0-9]+)/vote/$', views.vote, name='vote'),

# ex: /test/
url('/test/$', views.test, name='test'),
]

我想在点击提交按钮时调用名为test的函数。

index.html的一部分

<form action="/polls/test/" method="get">  
Find: <input type="text" name="" size="35">
<input type="submit" value="Add Stuff">
</form>

现在,当点击此按钮时,如果收到错误,说明Django尝试了这些URL并且无法找到它。

Page not found (404)
Request Method:     GET
Request URL:    http://localhost:8000/polls/test/

Using the URLconf defined in mysite.urls, in this order: 

patterns, in this order:

^polls/ ^$ [name='index']
^polls/ ^(?P<question_id>[0-9]+)/$ [name='detail']
^polls/ ^(?P<question_id>[0-9]+)/results/$ [name='results']
^polls/ ^(?P<question_id>[0-9]+)/vote/$ [name='vote']
^polls/ /test/$ [name='test']
^admin/

 The current URL, polls/test/, didn't match any of these.

我错过了一些非常明显的东西吗? 我真的很感激任何帮助。

感谢。

1 个答案:

答案 0 :(得分:3)

从测试网址中删除前导/。您还应该在正则表达式的开头添加^,以使其与test匹配,但不与xtest匹配。

url('^test/$', views.test, name='test'),

另外,您可以使用url tag来防止在模板中对网址进行硬编码。

<form action="{% url 'test' %}" method="get">