所以,这是我的一个urls.py
urlpatterns = patterns('items.views',
url(r'^(?P<item_id>[\d+])/$', 'view_listing', name="item_view"),
)
在我的模板中,我可以执行此操作:<a href="{% url item_view 1 %}">here</a>
我将获得指向正确页面的链接。一切都很棒!
但是,这是另一个
urlpatterns = patterns('django.views.generic.list_detail',
(r'^(?P<slug>[\w-]+)/$', 'object_detail', dict(page_info, slug_field='slug'), "page_view"),
)
但是在我的模板中,如果我尝试这个:<a href="{% url page_view slug='TermsAndConditions' %}">Terms and Conditions</a>
或此<a href="{% url page_view 'TermsAndConditions' %}">Terms and Conditions</a>
,则会出现此错误:
TemplateSyntaxError at /
Could not parse the remainder: ''TermsAndConditions '' from ''TermsAndConditions ''
有没有人知道是否可以使用带有通用视图的命名网址和url
这样的模板标记?或者使用通用视图的正确方法?
感谢。
答案 0 :(得分:4)
Django中的模板系统仅支持双引号,这解释了使用单引号时出现的语法错误。你需要做
{% url page_view slug="TermsAndConditions" %}
如果省略引号,Django指的是名为TermsAndConditions
的变量。
答案 1 :(得分:4)
解决方案是
<a href='{% url page_view slug="TermsAndConditions" %}'>Terms and Conditions</a>
答案 2 :(得分:0)
不要在字符串“TermsAndConditions”周围加上引号:
{% url page_view slug=TermsAndConditions %}