【问题标题】:Pass boolean from JavaScript to Flask [duplicate]将布尔值从 JavaScript 传递到 Flask [重复]
【发布时间】:2017-08-01 05:20:03
【问题描述】:

我是 Flask Web 开发的初学者。请不要将此标记为重复,因为我没有看到与我的问题相似的任何内容。

我想问一下,如何将布尔值 VARIABLE 例如 status = True 从 JavaScript 传递到 Flask ?我知道我们可以在 JavaScript 中使用 Flask 变量,但是我们如何将布尔值从 JavaScript 传递到 Flask。我正在考虑使用 post 但我不知道如何开始。

希望高手能帮帮我,谢谢。

【问题讨论】:

  • 你在使用任何框架吗? jQuery?如果你使用 WTF 表单,那么你可以使用 BooleanField 类型
  • 是的,我正在使用 WTF 表单和烧瓶,BooleanField 类型?我不明白,我的意思是如何将布尔状态从 JavaScript 传递给 BooleanField 类型的 Flask?

标签: javascript jquery flask


【解决方案1】:

在 Flask 中创建一个简单的表单,如下所示:

from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, BooleanField
from wtforms.validators import Email, Length, InputRequired


class LoginForm(FlaskForm):
    email = StringField('Email', validators=[InputRequired(), Length(1, 64), Email()])
    password = PasswordField('Password', validators=[InputRequired()])
    remember_me = BooleanField('Keep me logged in') # Notice this.

现在我们可以将此表单从 views.py 发送到模板。

@app.route('/test', methods=['GET', 'POST'])
def login():
    form = LoginForm()
    if form.validate_on_submit():
        # Get remember_me parameter here using request.form.get('remember_me')
        flash('Invalid username or password.')
    return render_template('your_template.html', form=form)

最后在模板文件your_template.html中渲染from。

<form class="form-horizontal" method="post">
              {{ form.hidden_tag() }}
                    <div class="col-md-offset-2 col-md-10">
                      <div class="checkbox">
                        <label>
                          {{form.remember_me}} Keep me logged in
                        </label>
                      </div>
                    </div>
                <div class="form-group">
                    <div class="col-md-10 col-md-offset-2">
                        <input type="submit" class="btn btn-raised btn-primary" value="Submit">
                    </div>
                </div>
          </form>

注意 {{form.remember_me}}。选中后,这会将 remember_me 返回为 y else None in views.py 文件。

注意:您可能无法直接复制粘贴此代码,因为您肯定需要根据您的要求进行更改。请将此仅作为参考,它一定会帮助您和将来到达这里的任何人。

【讨论】:

  • 我认为您误解了我的问题,因为您的答案是将布尔值从烧瓶传递到 html,而我发现的是如何将布尔值从 JavaScript 传递到 Flask。
  • @iyzad 试试看。这会将布尔值从 HTML 传递到烧瓶(布尔值到达 views.py)。
  • 对不起,我希望能够在不使用 BooleanField 的情况下获得布尔值
  • 请不要浪费我的时间
猜你喜欢
  • 1970-01-01
  • 2019-01-25
  • 2020-04-09
  • 2017-04-11
  • 2016-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多