我正在尝试使用变量在Django模板中切片循环
常规方式
{% for article in module.module_article_key.module_article_category.article_category_key.all|slice:":2" %}
{{ article.article_title }}
{% endfor %}
需要
{% for article in module.module_article_key.module_article_category.article_category_key.all|slice:":module.module_article_key.module_article_count" %}
{{ article.article_title }}
{% endfor %}
所以我们有工作变量 {{module.module_article_key.module_article_count}}
通常,此变量会为该模块提供存储的整数值,但是我使用它来切片循环-不会发生
答案 0 :(得分:3)
您需要先将module_article_count
转换为字符串,然后通过嵌套的{% with %}制作articleSlice
并在slice
过滤器中使用生成的模板变量,如下所示:
{% with articleCount=module.module_article_key.module_article_count|stringformat:"s" %}
{% with articleSlice=":"|add:articleCount %}
{% for article in module.module_article_key.module_article_category.article_category_key.all|slice:articleSlice %}
{{ article.article_title }}
{% endfor %}
{% endwith %}
{% endwith %}