含まれるテンプレートにデフォルトの動作を設定しようとしています。
テンプレートに変数を設定できない Django テンプレート システムに問題があります (Django Philosophy について読んだことがあり、理解しています)。
これが私の問題の例です:
ニュースフィードをレンダリングするためのテンプレートを含めたい:
template.html: ... {% include "_newsfeed.html" with slicing=":20" %} ...
slicing
引数の入力を強制されないようにして、デフォルトの動作を設定したいと思います。":20"
私の
_newsfeed.html
中で、私はやりたいです(疑似コード、それは動作しません):_newsfeed.html: ... {% if not slicing %}{% with slicing=":20" %}{% endif %} {% for content in newsfeed_content|slice:slicing %} {# Display content #} {% endfor %} {% if not slicing %}{% endwith %}{% endif %}
代わりに、DRY ルールに従わない (そして私を満足させない!) 以下でこれを行うことになります。
_newsfeed.html:
...
{% if not slicing %}{% with slicing=":20" %}
{% for content in newsfeed_content|slice:slicing %}
{# Display content #}
{% endfor %}
{% endwith %}{% else %}
{% for content in newsfeed_content|slice:slicing %}
{# Display content #}
{% endfor %}
{% endif %}
どうすればいいですか?