【问题标题】:How to remove fields from parent form?如何从父表单中删除字段?
【发布时间】:2016-01-30 05:32:39
【问题描述】:

我有一个用于注册用户的表单。我有另一种用于登录用户的表单。这两种形式共享共同的属性,例如用户名和密码。

我尝试创建一个继承自 RegisterForm 的 LoginForm,但我不知道如何删除不需要登录的字段,例如重复密码或同意 T&C 复选框。

我该怎么做?这些表单继承自 Form 而不是 ModelForm。

【问题讨论】:

  • 听起来你的继承应该切换,以便RegisterForm继承自LoginForm
  • 把它变成答案。

标签: python flask wtforms flask-wtforms


【解决方案1】:

del form.some_field - 在实例化表单类之后或在__init__ 中(在超级调用之后,您将使用self 而不是form)。

http://wtforms.readthedocs.org/en/latest/specific_problems.html#removing-fields-per-instance

【讨论】:

    【解决方案2】:

    如果LoginForm 确实是RegisterForm 的一个子集,那么您最好反转继承。

    class LoginForm(Form):
        username = ...
        password = ...
    
    class ReigsterForm(LoginForm):
        confirm_password = ...
    

    【讨论】:

      猜你喜欢
      • 2013-03-11
      • 2017-01-10
      • 1970-01-01
      • 2011-12-12
      • 1970-01-01
      • 2020-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多