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>