0
我期待在要包含的模板中設置默認行爲。Django:在包含模板中設置默認行爲
我有Django模板系統的問題,不允許在模板中設置變量(我已閱讀了Django哲學,我理解它)。
這是我的例子問題:
我想包括一個模板來渲染新聞源:
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 %}
相反,我結束了下面這樣做,不遵循乾燥的原則(和不滿足我!):
_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 %}
我該怎麼辦?
無法在傳遞給模板之前在代碼中設置默認值? – jsj
'_newsfeed.html'包含在webapp的許多部分中,並且以前具有默認行爲(即所有當前的包含標記都是'{%include「_newsfeed.html」%}'')。我想增加定製切片的可能性,而不必修改webapp的所有其他部分。 –