Django网址模板标签无法正常工作

时间:2012-11-24 00:27:16

标签: django django-templates

在Django中,在模板中,我做

{% url 'Customer.views.edit_customer' 1 %}

我得到NoReverseMatch例外。但是,在模板渲染之前的行中我做了:

print reverse('Customer.views.edit_customer', args=(1,))

并打印预期的URL。我知道我总是可以传递反向的结果,但我想了解发生了什么。

网址格式为:

url(r'^customer/edit/(\d+)$', edit_customer),

有没有办法在模板中进行相反的反向调用?

2 个答案:

答案 0 :(得分:1)

如果您使用的是Django 1.4,请删除引号

{% url Customer.views.edit_customer 1 %}

请参阅https://stackoverflow.com/a/4981105/44816

Django 1.5将接受引用的url匹配模式。如果您想引用模式,可以从以后加载url模板标记。在模板中的第一个url标记之前使用以下内容

{% load url from future %}

答案 1 :(得分:0)

它不能按照预期的方式工作的原因是因为我忘了输入:

{% load url from future %}

我一直在我的大多数模板中使用它,但忘了将它添加到这个模板中。

P.S。感谢这个问题的链接,它给了我未来的答案。