2015-06-27 50 views
1

我已阅读Flask文档,我应该导入“jinja2.ext.loopcontrols”扩展名以使用范围标记。如何正确导入jinja2.ext.loopcontrols到Flask?

我试图这样做:

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

你在试图达到什么? – doru

+0

@doru我试图从列表中获得前5个项目。它现在与您的答案,thx一起工作。 – Madno

回答

2

如果你想只得到第5帖,你可以使用一个列表的片段(如果您的posts变量列表):

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

如果你真的想用loopcontrols扩展:

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