我有一个 Python 函数,它返回 80 个可能值中的 1 个,并且根据返回的值,我需要显示不同的文本块。我试图实现的功能大致如下所示,
<!DOCTYPE HTML>
<html>
<body>
<div id="1"> One </div>
<div id="2"> Two </div>
<div id="3"> Three </div>
{% if id == "1" %}
display div with id "1"
{% elif id == "2" %}
display div with id "2"
{% else %}
display div with id "3"
{% endif %}
</body>
</html>
所以,我想在 html 文件的某个地方写 80 个不同的 'div',并根据 Python 函数返回的值有选择地显示它们。这甚至可以做到吗?如果没有,我还有什么其他选择?
编辑 - div 不仅仅是文本块。它们也包含 html。
一种方法是将项目创建为对象列表:
items = [{'id': 1, 'value': 'One'}, {'id':2, 'value': 'Two'}]
return render_template('hello.html', items=items)
在您的 html 模板中(Flask 的默认设置是 Jinja2):
{% for item in items %}
{% if item.id == 1 %}
<div id="1">{{ item.value }}</div>
{% elif item.id == 2 %}
<div id="2">Second item</div>
{% endif %}
{% endfor %}
但是,如果所有 div 都在 html 代码中并且您想显示、隐藏它们,那么您将需要 javascript:
display: none;
到 div 样式,它们都将被隐藏。添加脚本标签:
var item = '{{ item_id }}';
$('#' + item).show();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句