我有一个comment_form.html
模板,它在我的应用中的多个位置使用,我希望能够将端点的url从父模板传递到该模板中。通常我会使用with
标记执行此操作:
{% with endpoint='/comments' %}
{% include 'comment_form.html' %}
{% endwith %}
问题是我不能在这里使用字符串文字'/comments'
,而是需要一个url标记,如下所示:{% url 'blog:comments:comments' username=post.user.username object_id=post.id %}
。 with
模板标记似乎需要文字或上下文变量,似乎无法理解“使用另一个模板标记的结果”。
一种解决方案是分别传递字符串'blog:comments:comments',post.user.username,post.id。但这是一个问题,因为注释表单的不同用法可能需要不同的参数来唯一地定义端点。
如何将with
与另一个模板标记的结果一起使用?
答案 0 :(得分:3)
你不能,但你不需要。 url
标记有一个替代语法,将结果注入上下文:
{% url 'blog:comments:comments' username=post.user.username object_id=post.id as endpoint %}