在Django中,在模板中,我做
{% url 'Customer.views.edit_customer' 1 %}
我得到NoReverseMatch
例外。但是,在模板渲染之前的行中我做了:
print reverse('Customer.views.edit_customer', args=(1,))
并打印预期的URL。我知道我总是可以传递反向的结果,但我想了解发生了什么。
网址格式为:
url(r'^customer/edit/(\d+)$', edit_customer),
有没有办法在模板中进行相反的反向调用?
答案 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。感谢这个问题的链接,它给了我未来的答案。