1

我有一个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另一个模板标签的结果?

4

1 回答 1

3

你不能,但你不需要。该url标签有另一种语法,将结果注入上下文:

{% url 'blog:comments:comments' username=post.user.username object_id=post.id as endpoint %}
于 2013-04-02T22:44:37.653 回答