2013-04-02 39 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'标签本身。非常感谢。 –