0

在 Django 中,在模板中,我这样做

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

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

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

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

网址模式是:

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

有没有办法在模板中做相当于反向调用的方法?

4

2 回答 2

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 %}
于 2012-11-24T00:35:11.747 回答
0

它没有按预期的方式工作的原因是因为我忘了输入:

{% load url from future %}

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

PS感谢该问题的链接,它给了我未来的答案。

于 2012-11-24T00:39:32.903 回答