假设我有一个名为seq的python列表,我想在select元素中呈现它我该怎么做?
我试过了:
<select name="Exercise1">
{% for item in seq %}
<option value="{{item}}">{{item}}</option>
{% endfor %}
</select>
它不起作用。
更新: 这是模板代码:
<!DOCTYPE html>
<html>
<head>
<title>Unit 2 Rot 13</title>
</head>
<body>
<h2>Enter some text to ROT13:</h2>
<form method="post">
<select name="Exercise1">
{% for item in seq %}
<option value="{{item}}">{{item}}</option>
{% endfor %}
</select>
<br>
<input type="submit">
</form>
</body>
</html>
这里是渲染的html源代码:
<!DOCTYPE html>
<html>
<head>
<title>Unit 2 Rot 13</title>
</head>
<body>
<h2>Enter some text to ROT13:</h2>
<form method="post">
<select name="Exercise1">
</select>
<br>
<input type="submit">
</form>
</body>
</html>
我不确定为什么元素会消失而且没有错误。
答案 0 :(得分:10)
你很亲密我的朋友你错过了一些空间:
你写了这个:
<option value="{{item}}">{{item}}</option>
需要看起来像这样:
<option value="{{ item }}">{{ item }}</option>
如果能解决问题,请告诉我。祝你好运!
没有这些空格,它看起来像垃圾到python和浏览器:)
答案 1 :(得分:0)
检查在哪里渲染模板的函数,它必须包含:
def generate_template_for_exercize1():
seq = [1, 2, 3] #here you probably will have more complex statement
return render_template('your_template.html', seq=seq)