在For循环Python中传递两个值

时间:2014-07-03 20:22:38

标签: python html for-loop terminal flask

我有两个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的两个值?

2 个答案:

答案 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 %}