gpt4 book ai didi

python - 在 wtforms 表单中设置默认值

转载 作者:太空宇宙 更新时间:2023-11-03 16:21:34 29 4
gpt4 key购买 nike

我正在开发“添加成员(member)详细信息”和“编辑成员(member)详细信息”页面。对于“添加成员(member)详细信息”,我使用如下所示的 wtf 表单(精简版本)

class RegisterForm(Form):

name = TextField(
'Name',
validators=[DataRequired(), Length(min=3, max=25)]
)

phone = TextField(
'Phone',
validators=[DataRequired(),
Length(min=10, max=10, message="Invalid phone number")],
)

对于编辑页面,想法是从RegisterForm继承EditForm并将默认值设置为姓名和电话的值。但在管理遗产方面却遇到了困难。以下是我想要实现的目标。如有任何帮助,我们将不胜感激。

class EditForm(RegisterForm):
def __init__( not sure of args, member ):
self.name.default = member.name
self.phone.default = member.phone

最佳答案

使用TextField时,您应该设置self.field.data而不是self.field.default。在这种情况下,您只需使用 obj 关键字在表单的默认构造函数中传递 member 即可完成默认值。这就是我的意思:

form = EditForm(obj=member)

表单将搜索 member 上的属性,以使用相同的名称填充其字段(这里是 the docs 关于它)。与以下代码效果相同:

class EditForm(RegisterForm):
def __init__(self, member, *args, **kwargs):
super(EditForm, self).__init__(*args, **kwargs)
self.name.data = member.name
self.phone.date = member.phone

关于python - 在 wtforms 表单中设置默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38412715/

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