我有一个文本文件,格式如下:
Title
n
Description
n
Title
n
Description
...
在我的flask应用程序中,我在呈现模板时发送对文件的引用。我能够执行以下代码来逐行迭代文件
{% for line in file: %}
{% set title = line %}
....
但是,我不能使用
{% file.readline() %}
因为我得到错误
Encountered unknown tag 'file'. Jinja was looking for the following tags: 'endfor' or 'else'. The innermost block that needs to be closed is 'for'.
我检查了所有的标签,循环都关闭了。在Jinja中,有什么方法可以在阅读文件时跳过一行吗?
Jinja控件的末尾没有冒号(:
),它们与Python块不同。
file.readline()
是一个表达式,而不是Jinja控件。使用{{ }}
而不是{% %}
来分隔表达式。
在逐行迭代文件时,调用file.readline()
没有意义。您已经通过迭代读取了该行。
{% for line in file %}
{{ line }}<br>
{% endfor %}