我已经在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 %}
那么导入它的正确方法是什么?
答案 0 :(得分:2)
如果您只想获得前5个帖子,可以使用列表切片(如果您的posts
变量是列表):
{% for x in posts[:5] %}
....
如果您真的想使用loopcontrols
扩展程序:
{% for _ in range(1, 6) %}
....