【问题标题】:Bootstrap variable passed over to Flask引导变量传递给 Flask
【发布时间】:2017-03-04 14:39:45
【问题描述】:

首先抱歉,如果这是一个愚蠢的问题,但我有点卡住了..

我想将几个变量从我的 HTML/Bootstrap 页面传递给 Flask。变量以表格形式获得。

要从下拉列表中选择变量。从 mySQL2 中选择变量后,它应该存储在 customername 中。

目前我有这个根本不起作用的示例代码。

<form action="" class="form-group" method="post">
    <div class="form-group">
        <label for="selectcustomer">Select your customer</label>
        <input
            <select class="form-control" id="selectcustomer">
                {% for j in mySQL2 %}
                <option>{{j[2]}}</option>
                {% endfor %}
            </select> value="{{request.form.customername}}">
        <input type="text" class="form-control"  name="customername" value="{{request.form.customername}}">
    </div>
    <br>
    <input class="btn btn-default" type="submit" value="Submit">
</form>

如何将选定的值发布到customername

表格如下所示:

我需要选择字段作为下拉菜单。一旦选择了一个值,它应该存储在customername

【问题讨论】:

  • 你能详细说明什么不起作用吗?通常,HTML 表单值(输入、选择/选项)将在表单的 action 属性中指定的 URL 处发送回服务器。您的操作是空白的——这是故意的吗?
  • 抱歉,刚刚添加了带有屏幕截图的帖子。不,不是故意的。我需要将选定的值发布并发送到服务器。
  • 我不是专业人士,但这&lt;input &lt;select&gt; ... &lt;/select&gt; value="{{request.form.customername}}"&gt; 有效吗?看起来有点不对劲

标签: python html twitter-bootstrap flask flask-wtforms


【解决方案1】:

表单提交前无法获取提交值。要在视图中获取发布的数据,请使用:

request.form["selectcustomer"]

注意: html select 标记应该有一个名称属性 &lt;select name="selectcustomer" ...&gt; 这样您就可以使用名称而不是选择 id 来获取值。

假设您的观点如下:

def customer():
    customername = ""
    if request.method == 'POST':
        customername = request.form["customername"]
    return render_template("yourhtmlfile", customername=customername)

#yourhtml
...
{{customername}}

【讨论】:

  • 谢谢,最后我选择了 wtforms,我觉得它有点难看,或者还没有想出在 html 中让它们看起来不错的方法。看看你的建议,我想我应该取消输入,然后通过 value="{{request.form.customername}}"> 存储变量,并且可以在烧瓶中调用..
猜你喜欢
  • 1970-01-01
  • 2015-01-27
  • 2014-01-05
  • 2016-07-08
  • 2016-04-14
  • 1970-01-01
  • 1970-01-01
  • 2022-07-17
相关资源
最近更新 更多