如何正确导入jinja2.ext.loopcontrols到Flask?

How to import jinja2.ext.loopcontrols to Flask correctly?

我在 Flask 文档中读到我应该导入 "jinja2.ext.loopcontrols" 扩展以使用范围标签。

我正在尝试这样做:

app = Flask(__name__)
app.jinja_env.add_extension('jinja2.ext.loopcontrols')
app.config.from_object(__name__)

但每次我使用范围标签时,它都会给我:

TemplateSyntaxError: Encountered unknown tag 'range'. Jinja was looking for the following tags: 'endblock'. The innermost block that needs to be closed is 'block'.

这是我在模板文件中的代码:

{% range number from 1 to 5 %}
 {% for x in posts %}
  <p>The value of X is: </p> {{ x }}
 {% endfor %}
{% endrange %}

那么正确的导入方式是什么?

以下是 loopcontrols 扩展程序的使用方法:

{% for _ in range(1, 6) %}
    ....

但是,如果您只想获得前 5 个帖子,您可以使用列表切片(如果您的 posts 变量是一个列表):

{% for x in posts[:5] %}
    ....