【问题标题】:How to keep input after failed form validation in flask在烧瓶中表单验证失败后如何保持输入
【发布时间】:2017-10-22 12:12:48
【问题描述】:

使用 django,我可以在验证失败后简单地将 POST 数据传递给表单,用户不必再次输入所有内容:

question_form = QuestionForm(request.POST)
choice_form_set = ChoiceFormSet(request.POST)

我如何在烧瓶中自己实现这个?

【问题讨论】:

    标签: python forms validation flask


    【解决方案1】:

    使用 Flask 也可以做到这一点:

    @app.route('/register', methods=['GET', 'POST'])
    def register():
        form = RegistrationForm(request.form)
        if request.method == 'POST' and form.validate():
            user = User(form.username.data, form.email.data,
                        form.password.data)
            db_session.add(user)
            flash('Thanks for registering')
            return redirect(url_for('login'))
        return render_template('register.html', form=form)
    

    if 表达式执行验证检查。如果验证成功,则将用户转发到登录页面。如果为 false,则将更新后的表单作为参数再次调用 render_template,因此表单会再次显示之前输入的数据(可能会提示需要修复的内容)。

    代码取自Flask documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-03
      • 2021-02-11
      • 2022-01-04
      • 2020-11-18
      • 1970-01-01
      • 2013-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多