您好,我在选择/选项html时遇到问题,您可以在其中选择页码,因此第1页(共100页),第2页(共200页)等...然后转到第1、2、3页... >
除以下内容外,所有内容均在以下代码中起作用:在选择按钮内,单击要转到的页面,刷新页面后,它返回到第1页,始终显示:第1页(共100页),即使实际上在url中,页码也是正确的。我应该使用一个会话变量,但是问题是我正在努力了解如何直接在html页面中将其与Flask / Jinja2一起使用。有人可以帮忙吗?
使用{% set session['page'] = page %}
然后使用{{ session['page'] }}
会给我语法错误:
TemplateSyntaxError: expected token 'end of statement block', got '['
{% set session['page'] = page %}
<select onchange="window.location.href=this.value">
{%- for page in range (1,(form.total_PAGE.data | int) + 1 ) %}
<option value="{{ page }}">{{ session['page'] }}/{{ form.total_PAGE.data }}</option>
{%- endfor %}
</select>
答案 0 :(得分:0)
通常,您无法使用set
或obj['attr']
语法(请参见the documentation)来使用obj.attr
分配给对象属性。但是,您可以启用expression-statement extension,然后使用dict update设置属性,如下所示:
{% do session.update({'page': page}) %}
但是正如评论中已经提到的那样,这确实没有意义,可以使用其他方法更干净地解决。