2012-11-24 28 views
0

在Django中,模板裏面,我做Django的網址模板標籤不工作

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

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

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

它打印預期的URL。我知道我總是能夠通過反向的結果,但我想知道發生了什麼。

URL模式是:

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

是否有這樣做模板的反向調用等效的方法嗎?

+0

你的網址模式是什麼樣的?不知道它的相關,但只是想檢查 – jdi

回答

1

如果您正在使用Django 1.4,刪除引號

{% url Customer.views.edit_customer 1 %} 

https://stackoverflow.com/a/4981105/44816

的Django 1.5將接受報價的URL匹配模式。如果您想引用您的模式,可以從將來加載url模板標記。在您的模板

{% load url from future %} 
0

的原因,第一個URL標記之前,請使用以下沒有工作預期的方式是因爲我忘了在:

{% load url from future %} 

我一直在使用它在我的大部分模板中,但忘了添加到這個。

P.S.感謝這個問題的鏈接,它給了我未來的答案。

+0

是'未來'的應用程序的名稱,或者是什麼? – CodyBugstein

+0

不,「未來」只是「未來」。它是django的一部分。 – CrazyCasta