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:所以,当用户提交表单时,我想传递此名称。.捕获此名称的好方法是什么?如果需要可见,可以使用
只读
。否则只需将其隐藏即可。