Python 烧瓶-金佳2如何以不同的方式输出<;部门id/级别>;
因此,我将数据输出到我的模板,如下所示(函数将检查每个数据(一个int)是否是我的计算结果,并生成True/False,然后生成正在计算的项Python 烧瓶-金佳2如何以不同的方式输出<;部门id/级别>;,python,flask,jinja2,Python,Flask,Jinja2,因此,我将数据输出到我的模板,如下所示(函数将检查每个数据(一个int)是否是我的计算结果,并生成True/False,然后生成正在计算的项 @app.route('/', methods=['POST']) # doing something here def get_data(): for item in generate_list(): if isResult(item): yield True else:
@app.route('/', methods=['POST'])
# doing something here
def get_data():
for item in generate_list():
if isResult(item):
yield True
else:
yield False
yield item
return Response(stream_template('result.html', data=get_data()))
在HTML文件中,我有:
<div id="resultfield">
{% for state, id in data: %}
{% if state == True %}
<div class='passed'>{{ id }}:{{ state }}</div>
{% else %}
<div class='failed'>{{ id }}:{{ state }}</div>
{% endfor %}
</div>
{%表示状态,数据中的id:%}
{%if state==True%}
{{id}}:{{state}
{%else%}
{{id}}:{{state}
{%endfor%}
我的目的是,如果该状态为真,那么结果(如CSS中所述)将为绿色,否则为灰色
由于某种原因,代码不能像它所说的“TypeError:“bool”对象不可编辑”那样工作
由于我是flask和jinja2新手,如何解决此问题
非常感谢您需要生成元组,而不是布尔值,然后分别生成项:
def get_data():
for item in generate_list():
yield isResult(item), item
由于isResult()
已返回布尔值,因此不需要在此处进行if
/else
测试
您可以将模板简化为:
<div id="resultfield">
{% for state, id in data %}
<div class="{% if state %}passed{% else %}failed{% endif %}">{{ id }}:{{ state }}</div>
{% endfor %}
</div>
{%表示状态,数据%中的id}
{{id}}:{{state}
{%endfor%}