альтернатива функции диапазона в шаблоне Django.TemplateSyntaxError: не удалось разобрать остаток - PullRequest
0 голосов
/ 01 октября 2018

В шаблоне я пытаюсь использовать:

{% for i in range(object.punctuation) %}
    <i class="material-icons">star</i> 
{% endfor %}

Где object.punctuation - это целое число с рейтингом объекта.Визуально эта пунктуация должна быть представлена ​​звездами.Но я получаю:

Could not parse the remainder: '(object.punctuation)' from 'range(object.punctuation)'

Как указано в: https://jbmoelker.github.io/jinja-compat-tests/functions/range/#stop похоже, что у функции диапазона в jinja есть проблемы с интеграцией django.Есть ли альтернатива для достижения того, что я пытаюсь сделать?

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Исправление Даниила помогло.Нашел мое решение здесь: Числовой для цикла в шаблонах Django

{% with ''|center:object.punctuation as range %}
    {% for _ in range %}
    <i class="material-icons">star</i>
    {% endfor %}
{% endwith %}
0 голосов
/ 01 октября 2018

По вашему мнению, вы можете иметь переменную

my_range = range(object.punctuation)
context['my_range'] = my_range

и затем передать ее в шаблон из контекста.Затем выполните цикл следующим образом:

{% for i in my_range %}
    <i class="material-icons">star</i> 
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...