编程语言
首页 > 编程语言> > python-如何将模板变量传递给Django模板中的切片过滤器

python-如何将模板变量传递给Django模板中的切片过滤器

作者:互联网

我正在尝试使用变量在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}}

通常,此变量会为该模块提供存储的整数值,但是我使用它来切片循环-没有任何反应

解决方法:

您需要先将module_article_count强制转换为字符串,然后通过嵌套的{% with %}进行articleSlice的使用,并在切片过滤器中使用生成的模板变量,如下所示:

{% 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 %}

标签:django-templates,python,django
来源: https://codeday.me/bug/20191108/2010271.html