Как передать переменную шаблона в фильтр слайсов в шаблонах Django - PullRequest
0 голосов
/ 24 июня 2018

Я пытаюсь нарезать цикл в шаблоне 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}}

обычно эта переменная дает целочисленное значение, сохраненное для этого модуля, однако я использую ее для нарезки цикла- ничего не происходит

1 Ответ

0 голосов
/ 24 июня 2018

Вам нужно сначала привести module_article_count к строке, затем сделать articleSlice через вложенный {% with%} и использовать полученную переменную шаблона в фильтре 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 %}
...