WTForms复选框字段未填充

2024-05-03 20:03:53 发布

您现在位置:Python中文网/ 问答频道 /正文

一般来说,我对Python&Flask还比较陌生,但是我有一个我无法理解的复选框问题。数据库字段为整数(SQLite)。当我创建记录时,它与1或0一起工作。但是,当我尝试使用WTForms编辑记录时,我无法使复选框反映数据库中的内容-1或0(选中或未选中)。下面有问题的字段是经理、部门主管和管理员。不知道我错过了什么?如有任何建议,将不胜感激。在

  • 很抱歉我的文字墙,但我想确保我没有遗漏任何东西。在

型号

class User(UserMixin, db.Model):

__tablename__ = 'users'

id              = db.Column(db.Integer, primary_key=True)
firstname       = db.Column(db.String(128), nullable=False)
lastname        = db.Column(db.String(128), nullable=False)
email           = db.Column(db.String(128), nullable=False)
password_hash   = db.Column(db.String(128), nullable=True)
locationid      = db.Column(db.Integer, db.ForeignKey('locations.id'), nullable=True)
location        = db.relationship('Location', backref='users')
departmentid    = db.Column(db.Integer, db.ForeignKey('departments.id'), nullable=True)
department      = db.relationship('Department', backref='users')
job_title       = db.Column(db.String(128), nullable=True)
mobile_phone    = db.Column(db.String(16), nullable=False)
manager         = db.Column(db.Integer, nullable=False, default=0)
dept_head       = db.Column(db.Integer, nullable=False, default=0)
admin           = db.Column(db.Integer, nullable=False, default=0)
date_created    = db.Column(db.DateTime, default=db.func.current_timestamp())
date_updated    = db.Column(db.DateTime, default=db.func.current_timestamp(), onupdate=db.func.current_timestamp())
date_deleted    = db.Column(db.DateTime)

形式

^{pr2}$

控制器

^{3}$

在编辑.html在

<form method="POST" action="{{ url_for('user.update', id=u.id) }}" accept-charset="UTF-8" role="form" id="UserForm">
{{ form.csrf_token }}
{{ form.id }}
<p><label>First Name: </label>{{ form.firstname(class_='form-control') }}</p>
<p><label>Last Name: </label>{{ form.lastname(class_='form-control') }}</p>
<p><label>Email: </label>{{ form.email(class_='form-control') }}</p>
<p><label>Location: </label>{{ form.locationid(class_='form-control') }}</p>
<p><label>Dept: </label>{{ form.departmentid(class_='form-control') }}</p>
<p><label>Job Title: </label>{{ form.job_title(class_='form-control') }}</p>
<p><label>Mobile Phone: </label>{{ form.mobile_phone(class='form-control', placeholder='(555) 555-1212') }}</p>
<p><label>Manager: </label>{{ form.manager(class_='fancy-checkbox', value=1) }}</p>
<p><label>Dept Head: </label>{{ form.dept_head(class_='fancy-checkbox', value=1) }}</p>
<p><label>Admin: </label>{{ form.admin(class_='fancy-checkbox', value=1) }}</p>
{{ form.submit(class_='btn btn-primary btn-lg') }}
</form>

数据 Database

表单在操作中(管理用户示例,应选中所有内容) Web Form


Tags: formidfalsetruedefaultdbdatestring