我在学烧瓶。我想开始创建一个简单的表单选择页面。我的意图是让用户选择该选项,然后使用GET
在另一个页面中显示它。
我正在尝试以下代码。你知道吗
from flask import Flask, render_template, request, redirect
app = Flask(__name__)
@app.route('/')
def search():
return render_template('select_doc.html')
@app.route('/view_doc/<k>')
def view_doc(k):
return render_template('view_doc.html',k=k)
if __name__ == '__main__':
app.run(debug=True)
这是我的选择_文档.html你知道吗
{% block content %}
<body>
<h1>Pick your plag</h1>
<form action='/view_doc'>
<select name="k">
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<input type='submit' value='Select'>
</form>
</body>
{% endblock content %}
</html>
这是我的观点_文档.html你知道吗
<html>
{% block content %}
<body>
<br>{{ k }}<br>
</body>
{% endblock content %}
</html>
但是,我得到一个错误,说404 not found
。
这是我的运行.py. 我做错什么了?你知道吗
在视图中需要角括号
您还应该稍微整理一下代码,使其更具可读性。你知道吗
您的路由需要
<k>
参数,但它不是通过表单发送的。使用method="get"
(未指定时为默认值)点击提交时,请求url将为/results?k=value
。你知道吗因此,您要么从路由中删除
<k>
,然后从querystring中提取它,要么编写一些js将值放在url上,就像这样/results/value
。最简单的选项是第一个,所以您只需执行request.args.get('k')
来提取k
,并在render_template
中使用它。你知道吗相关问题 更多 >
编程相关推荐