0

Djangoテンプレートのincludeステートメントに変数を含める方法があるかどうか疑問に思いました。たとえば、オブジェクトのセットにforループがあり、それらのオブジェクトに関連するテンプレートのみをロードする場合(以下の例)。

{% for app in apps %}
<div class="modal fade hidden" id="myModal_{{ app.id }}">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
    <h3 id="myModalLabel">Add {{ app.title }}</h3>
  </div>
  <div class="modal-body">
    <form class="bs-docs-example form-horizontal">


      {% include "app_templates/{{ app.title }}/modal-config.html" %}


    </form>
  </div>
  <div class="modal-footer">
    <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
    <button class="add-app-btn btn btn-primary" data-appid="{{ app.id }}">Add</button>
  </div>
</div>
{% endfor %}

または、これを行うためのより良い方法がありますか。ありがとう。

4

1 に答える 1

1

あなたはこのようにそれを行うことができます:

{% with template_name="app_templates/"|add:app.title|add:"/modal-config.html" %}
    {% include template_name %}
{% endwith %}

多分これがうまくいくかどうかはわかりません:

{% include "app_templates/"|add:app.title|add:"/modal-config.html" %}.

ただし、その場合は、テンプレートタグまたはフィルターを作成して、このロジックをテンプレートからカプセル化する必要があります。

于 2012-11-02T14:57:03.117 に答える