gpt4 book ai didi

python - 将字段标签传递给 WTForms __init__

转载 作者:太空宇宙 更新时间:2023-11-03 15:46:25 27 4
gpt4 key购买 nike

我想将表单字段的标签作为参数传递给表单的 __init__ 。现在我得到一个NameError: name 'self' is not defined错误。

class MyForm(FlaskForm):
def __init__(self, label_t, **kw):
super(MyForm, self).__init__(**kw)
self.label_t = label_t

name = StringField(self.label_t, validators=[DataRequired()])

f = MyForm("test1", csrf_enabled=False)

我还尝试将 name 变量放入 init 函数中,但我得到 AttributeError: 'UnboundField' object has no attribute '__call__' .

class MyForm(FlaskForm):
def __init__(self, label_t, **kw):
super(MyForm, self).__init__(**kw)
self.label_t = label_t
self.name = StringField(self.label_t, validators=[DataRequired()])

如何将字段的标签传递给 __init__

最佳答案

您无法从类属性访问self,这就是NameError 的原因。如果您想在 __init__ 上设置字段的标签,只需设置实例的 label 属性即可:

class MyForm(FlaskForm):

def __init__(self, label_t, **kw):
super(MyForm, self).__init__(**kw)
self.name.label = label_t

name = StringField(validators=[DataRequired()])

关于python - 将字段标签传递给 WTForms __init__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41699764/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com