2017-03-14 10 views
0

私はいくつかのテンプレート上で繰り返される次のコードを持っている:Djangoでテンプレートの繰り返しを避けるには?

{% for element in elements %} 
    <div class="some-class"> 
     <div class="another-class"> 
      <div class="row"> 
       <div class="col-xs-3"> 
        <img class="img-responsive" alt="{{ entry.user }} avatar" style="border-radius: 50%; width: 100%;" src="{{ entry.avatar_url}}"> 
       </div> 
       <div class="col-xs-9" style="some-style"> 
        {% if entry.data1 %}<small>{% trans entry.data1 %}</small><br>{% endif %} 
        {% trans entry.data2 %} {% trans entry.data2 %} 
        <br> 
        <small style="some-style"> 
         {% blocktrans with timestamp=entry.timestamp|naturaltime %} 
          {{ timestamp }} 
         {% endblocktrans %} 
        </small> 
       </div> 
      </div> 
     </div> 
    </div> 
{% endfor %} 

を、私は、コードのこの部分の繰り返しを避けるための最善の方法であるか疑問に思う、私はジャンゴへの初心者のようなものだし、私は本当に感謝あなたの助け。

編集: コンテンツをそのテンプレートに渡す必要がある場合はどうすればいいですか?それは含んでいるファイルのものと同じ文脈を使うか、何らかの方法で文脈を示すべきですか?他のテンプレートで

というファイルにHTMLのこの部分を入れて、reusable.htmlを言うし、その後includeそれは:簡単で

答えて

1

。このよう

:あなたはreusable.htmlにパラメータを渡したい場合は今

<!-- Other HTML --> 

... html stuff here 

{% include 'reusable.html' %} 

は、あなたはこのようにそれを実行します。例えばそれ自身のテンプレートで

`{% include 'reusable.hmtl' with var_a='abc' var_b=123 %}` 
+0

ああ、はい。それはとても簡単です。私はいつもこれをやる。私はDRY;) –

+0

そのテンプレートにパラメータを渡す必要がある場合、または含まれているファイルのものと同じコンテキストは何ですか? – lmiguelvargasf

+0

私の答えを更新しました! –

1

セットのそれを、new_template.html{% include 'new_template.html' %}を使用してください。

+0

ありがとうございます。あなたの回答は他のテンプレートと非常に似ています。 – lmiguelvargasf

関連する問題