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リテラルまたはコンテキスト変数を期待しているようで、「別のテンプレートタグの結果を使用する」ことを理解できないようです。

1 つの解決策は、文字列 '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 に答える