我有两个Python文件和一个HTML文件。其中一个Python文件使用Flask连接HTML文件。
在file1.py
(非Flask)中,我设置了一个for循环来打印变量volume
for volume in current_volumes:
print volume
在终端
中打印出两个字符串 Volume:vol-XXXXXXX
Volume:vol-YYYYYYY
现在我将from file1 import *
放在file2.py
的顶部。
此外,file2.py
包含
def template(name=volume):
return render_template('index.html', name=name)
Index.html
包含
<p>{{ name }}</p>
但启动时只会读取Volume:vol-YYYYYYY
。
如何打印出volume
的两个值?
答案 0 :(得分:0)
我认为您想使用for循环来创建一个新字符串:
volume_string = ""
for volume in current_volumes:
volume_string += volume
def template(name=volume_string):
...
您可以在附加的每个卷的末尾插入“\ n”(换行符),以将其添加到2个打印行。
我没有玩过Flask,但你可能也想尝试
def template(name=current_volumes):
也许这样做足够聪明。
答案 1 :(得分:0)
您正在使用转义for
变量volume
而不是卷列表(current_volumes
)。 (如果切换到Python 3,这将引发ReferenceError
而不是工作)。变化:
def template(name=volume):
return render_template('index.html', name=name)
为:
def template(name=current_volumes):
return render_template('index.html', name=name)
您还需要将{{ name }}
更改为循环 - 让我们继续更改名称:
def template(volumes=current_volumes):
return render_template('index.html', volumes=volumes)
然后在我们的Jinja模板中添加一个循环:
{% for volume in volumes %}
<p>Volume Data: {{ volume }}</p>
{% endfor %}