Python 在烧瓶中将值从一条路径传播到另一条路径
所以, 我对烧瓶和前端编程非常陌生 我有一张表格:像这样Python 在烧瓶中将值从一条路径传播到另一条路径,python,flask,Python,Flask,所以, 我对烧瓶和前端编程非常陌生 我有一张表格:像这样 <form action="{{ url_for('search') }}" method="post"> Showing values for: <input type="text" name="name" value={{ name }} disabled><br><br> <select name="movie" width="300px">
<form action="{{ url_for('search') }}" method="post">
Showing values for: <input type="text" name="name" value={{ name }} disabled><br><br>
<select name="movie" width="300px">
{% for movie in movie_list %}
<option value="{{ movie }}" SELECTED>{{ movie }}</option>
{% endfor %}
</select>
<input type="submit" value="Recommend!!">
</form>
所以,你可以看到,它是html格式的。。我有两个领域
已设置默认值的名称(文本框)
和选项列表
我的意图是,当用户按下“提交”时,这两个字段都是
在后端接收
但打印声明显示
POST ImmutableMultiDict([('movie', u'foobar')])
但是我没有看到名称字段
如何修复此问题?可能是因为第一个
输入的值周围缺少引号
另外,禁用的输入将不会被传递,可能是因为第一个输入的值周围缺少引号
禁用的输入也不会被传递,您同时允许GET
和POST
请求,但在代码中不区分它们。如果您想在用户提交这些值时获取这些值,那么您需要在表单POST
s时执行一些操作。也许是这样的:
@app.route('/web/search/', methods=['POST','GET'])
def search():
if request.method == 'POST':
print request.method, request.form
# do some stuff
return redirect(url_for('search_results', results=results))
else:
return render_template('my_template.html')
然后,在if
语句中,您可以处理变量。在我想象的例子中,我将用户发送到另一个网页,在那里您可以显示搜索结果。我刚刚为render\u template()
创建了一个模板名称,这样您就可以替换实际调用的模板。您可以同时允许GET
和POST
请求,但在代码中不区分它们。如果您想在用户提交这些值时获取这些值,那么您需要在表单POST
s时执行一些操作。也许是这样的:
@app.route('/web/search/', methods=['POST','GET'])
def search():
if request.method == 'POST':
print request.method, request.form
# do some stuff
return redirect(url_for('search_results', results=results))
else:
return render_template('my_template.html')
然后,在if
语句中,您可以处理变量。在我想象的例子中,我将用户发送到另一个网页,在那里您可以显示搜索结果。我刚刚为render_template()
编了一个模板名,这样你就可以替换你的模板了。我真的不确定我是否理解?第二行的value
属性缺少引号。但是我如何在它的周围加引号value=“{{name}”?我做了
没有工作:(啊..那么,当用户提交表单时,我如何传递值?我实际上不确定我是否理解?第二行的value
属性缺少引号。但是我如何在其周围加引号value=“{{name}}”?我做了
没有工作:(啊..那么,当用户提交表单时,我如何传递值呢?我认为浏览器在请求中不包括禁用的字段。@dirn:那么,当用户提交表单时,我想传递这个名称..捕获这个名称的好方法是什么?如果需要可见,可以使用readonly
。否则就隐藏它。我认为浏览器不包括dis请求中已启用的字段。@dirn:所以,当用户提交表单时,我想传递此名称。.捕获此名称的好方法是什么?如果需要可见,可以使用只读
。否则只需将其隐藏即可。