2013-04-02 128 views
1

我有一個comment_form.html模板,它在我的應用程序的多個地方使用,我希望能夠從端點的URL傳遞到該模板父模板。通常我會用with標籤做到這一點:使用Django模板標籤「與」與另一個模板標籤的結果

{% with endpoint='/comments' %} 
    {% include 'comment_form.html' %} 
{% endwith %} 

的問題是,我不能使用字符串字面'/comments'這裏,而是我需要一個URL標籤,就像這樣:{% url 'blog:comments:comments' username=post.user.username object_id=post.id %}with模板標籤似乎需要一個文字或上下文變量,似乎無法理解「使用另一個模板標籤的結果」。

一個解決方案是將字符串的博客:評論:評論',post.user.username,post.id分開傳遞。但是這是一個問題,因爲評論表單的不同用法可能需要不同的參數來唯一定義端點。

如何將with與另一個模板標籤的結果一起使用?

回答

3

你不能,但你不需要。 url標籤具有替代句法,該句法將注入的結果導入上下文中:

{% url 'blog:comments:comments' username=post.user.username object_id=post.id as endpoint %} 
+0

這很完美!我梳理了'with'和類似標籤的文檔,但我從來沒有想過要真正查看'url'標籤本身。非常感謝。 –