当前遇到Django URL标签的NoReverseMatch错误。一直在关注Django的权威指南,Django文档,并在这里和互联网上搜索
网址:
url(r'^test/', Search_Page),
url(r'^search/', Search),
url(r'^details/', Details_Main),
url(r'^Link/(d+)/$', Link),
url(r'^$', 'Parks.views.Link', name="home"),
url(r'^(?P<result_name>)/$', Link),
视图:
def Link(request, result_name):
return render_to_response('Search_Page.html')
模板:
{% for result in results %}
<a href="{% url name result.name %}">test</a>
错误:
NoReverseMatch at /search/
Reverse for 'name' with arguments '(u'North West Thrill Centre',)' and keyword arguments '{}' not found.Request Method: GET
Request URL: http://127.0.0.1:8000/search/?search=a&type=parks&submit=Search
Django Version: 1.4.2
Exception Type: NoReverseMatch
Exception Value: Reverse for 'name' with arguments '(u'North West Thrill Centre',)' and keyword arguments '{}' not found.
Exception Location: C:\Python27\lib\site-packages\django\template\defaulttags.py in render, line 424
Python Executable: C:\Python27\python.exe
Python Version: 2.7.3
Python Path: ['C:\\Users\\User\\Documents\\Django\\ParkManager',
'C:\\Windows\\system32\\python27.zip',
'C:\\Python27\\DLLs',
'C:\\Python27\\lib',
'C:\\Python27\\lib\\plat-win',
'C:\\Python27\\lib\\lib-tk',
'C:\\Python27',
'C:\\Python27\\lib\\site-packages']
Server time: Mon, 4 Feb 2013 16:44:27 +0000
Error during template rendering
In template C:\Users\User\Documents\Django\ParkManager\Templates\Details_Main.html, error at line 23
先谢了
3条答案
按热度按时间wydwbb8l1#
你想称之为哪种观点?您正在调用
name
视图上的URL,但name
不存在。由于您只有一个命名视图home
,因此我假设这就是您要使用的视图。视图和URL都没有参数,但您在URL中传递
result.name
作为参数。您需要通过
def Link(request, result_name):
在视图中接受一个参数,并通过带有(?P<result_name>..
的正则表达式在URL中捕获它,或者在没有传递参数的情况下调用您的URL:由于您的视图中还没有逻辑,并且正在传递一个多字参数,而不是“slugifying”它-我将假设您希望执行后者,并从URL调用中删除参数。
iq3niunx2#
您的{% url name www.example.com %}有问题。result.name %} is the problem.
因为你的Link方法有一个关键字参数,你的url反向模板标签应该有一个匹配的关键字参数。
template.html
继续阅读以明确问题所在,正如您现在设置的那样,在模板中反转URL的正确方法是:
{% url [name][args][kwargs]%}
其中,
[name]是以下之一:test、search_start、details、link、home或search。或者查看函数的完整路径,但我建议现在保持简单。
[args]可以是空的,也可以是参数列表。
[kwargs]可以是空的,也可以是关键字参数列表。
关于url标签的文档可以在这里找到,并概述了使用它的其他方法(https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from = olddocs #url)。
*顺便说一句,你会遇到一些在URL中不允许的字符在搜索字符串中被允许的问题,比如空格和&符号。
www.example.com urls.py
another_template.html
jobtbby33#
检查模型中是否存在该字段。如果字段存在,请检查其拼写是否与模型中的相同