TemplateSyntaxError: операторы 'for' должны использовать формат 'for x in y'

Я создаю страницу листинга, которая эмулирует функцию ограничения страницы Stack Overflow; пользователь может выбрать, как изменить количество вопросов в списке, будь то 10, 15 или 25 на странице.

В процессе создания URL ссылки для каждого предельного номера страницы в шаблоне возникает следующая ошибка:

  • TemplateSyntaxError: 'for' statements should use the format 'for x in y': for limit in [10, 15, 25]

Что именно в шаблоне for-loop вызывает эту ошибку?

@register.simple_tag(takes_context=True)
def set_page_number_url(context, page=None, limit=None):
    request = context['request']
    request_resolver = resolve(request.path)
    query_string = QueryDict(request.META['QUERY_STRING'])
    query_tab, search_query = [
        query_string.get("tab", "newest"), query_string.get("q")
    ]
    if page:
        page_data = {
            "pagesize": page.paginator.per_page,
            "page": page.number,
            "tab": query_tab,
        }
    else:
        page_data = {
            'pagesize': limit,
            'page': 1,
            'tab': query_tab
        }
    _path = f"posts:{request_resolver.url_name}"
    if request_resolver.url_name == "tagged":
        tags = "+".join(tag for tag in context['tags'])
        path = reverse(_path, kwargs={'tags': tags})
        query_string = urlencode(page_data)
        return f"{path}?{query_string}"
    if request_resolver.url_name == "search" and search_query:
        page_data.update({'q': search_query})
    query_string = urlencode(page_data)
    path = reverse(_path)
    return f"{path}?{query_string}"
  <div class="page_range_options_wrapper">
    {% for limit in [10, 15, 25] %}
      <a class="inactive_page page_num" href="{% set_page_number_url limit %}">{{ limit }}</a>
    {% endfor %}
  </div>
Вернуться на верх