我想要做的是允許使用相同模板的不同但非常相似的視圖。有一個url參考,其中唯一不同的是反向調用的後半部分。使用下面的例子,我得到一個NoReverseMatch
,如果下面的代碼不被接受,這是有意義的。Django模板:在模板標籤中使用雙大括號
{% url outer:{{suffix}} %}
什麼是實現這一目標的正確方法是什麼?或者我有犧牲簡潔性,並寫出網址?
我使用Django 1.4
我想要做的是允許使用相同模板的不同但非常相似的視圖。有一個url參考,其中唯一不同的是反向調用的後半部分。使用下面的例子,我得到一個NoReverseMatch
,如果下面的代碼不被接受,這是有意義的。Django模板:在模板標籤中使用雙大括號
{% url outer:{{suffix}} %}
什麼是實現這一目標的正確方法是什麼?或者我有犧牲簡潔性,並寫出網址?
我使用Django 1.4
您可以使用 '與' 構建URL,然後把它傳遞到URL模板標籤:
{% with 'outer:'|add:suffix as link_url %}
<a href="{% url link_url %}">link</a>
{% endwith %}
UPD:Django的1.4,使其工作,你應該添加{% load url from future %}
,像這樣:
my_template.html:
{% load url from future %}
{% url 'outer:'|add:suffix %}
應該正確打印您的網址。請注意,你不應該用''來包裝後綴,因爲它是可變的。
我會建議你創建templatetag代替。這樣你就可以爲模板標籤提供後綴。
**嘗試使用如下所示的引號將其打包:{% url "outer:{{suffix}}" %}
。
這沒有奏效。 – af3ld
這究竟如何起作用?我的意思是我使用這種方法得到正確的URL。 ( –
)對不起,這不是很明確,當我按照原樣運行代碼片段時,我得到'NoReverseMatch'突出顯示''中的鏈接。 Django聲稱爲自定義模板標籤所做的引用,同樣的事情發生。我很感激幫助,其他知識會有幫助嗎? – af3ld