python设计中多个页面设计中每个页面包含问题以及问题选项写一段代码
时间: 2024-11-25 14:12:14 浏览: 15
在Python中,设计一个简单的网页应用,比如一个问卷调查,我们可以使用Flask框架来创建路由和HTML模板。下面是一个基本的例子,展示了如何创建一个包含问题和选项的单页布局:
```python
from flask import Flask, render_template, request
app = Flask(__name__)
# 假设我们有这些问题和选项的数据存储在一个字典里
questions = {
"q1": {"question": "你喜欢吃哪种水果?", "options": ["苹果", "香蕉", "橙子"]},
"q2": {"question": "你是喜欢猫还是狗?", "options": ["猫", "狗"]},
# ... 可以添加更多的问题
}
@app.route('/')
def index():
return render_template('index.html', questions=questions)
@app.route('/submit', methods=['POST'])
def submit():
form_data = request.form
for question_id, answer in form_data.items():
if answer != "" and int(question_id) in questions.keys(): # 验证用户是否选择了选项
print(f"用户选择的问题 {question_id} 的选项是: {answer}")
return '谢谢你的参与!'
if __name__ == '__main__':
app.run(debug=True)
```
这个例子中,`index.html` 是你的前端模板文件,可以使用 Jinja2 模板引擎来动态渲染数据。例如:
```html
<!-- index.html -->
<!DOCTYPE html>
<html lang="zh">
<head>
<title>问卷调查</title>
</head>
<body>
{% for qid, data in questions.items() %}
<h2>{{ data.question }}</h2>
<form action="/submit" method="post">
{% for option in data.options %}
<input type="radio" name="{{ qid }}" value="{{ option }}">{{ option }}<br>
{% endfor %}
</form>
{% endfor %}
</body>
</html>
```
在这个模板中,每个问题及其选项都会生成一个单独的表单,用户提交后会被送往 '/submit' 路由处理。
阅读全文