【发布时间】:2019-09-07 03:32:49
【问题描述】:
我使用 Flask-WTF 制作了一个性别表格,这是我的代码的 sn-p:
class Gender(enum.Enum):
Male = 'Male'
Female = 'Female'
def __str__(self):
return self.value
gender = [(str(y), y) for y in (Gender)]
class EditStudentForm(Form):
gender = SelectField('Gender', choices=gender)
@app.route('/edit_student')
def edit_student():
student = Student.query.filter_by(id=student_id).first()
student_form = EditStudentForm()
# ... validate on submit
# ....
# ....
return render_template(student=student, student_form=student_form)
该代码已经可以工作,包括我可以将数据插入数据库。
但是,如果数据库上的当前用户性别值为女性,则每当我刷新浏览器时,表单都没有获取当前值。
在 HTML 中我希望它是这样的:
// edit form
<form>
<input type="" value="currentUserValueFromDatabase">
</form>
我尝试使用这种方式获取当前值:
{{ f.render_field(student_form.gender, value=student.gender) }}
但它没有根据当前用户性别预填充当前值。
所以我想要的是在选择字段上显示当前值或根据数据库上的当前用户值预填充选择字段。
【问题讨论】:
标签: flask flask-wtforms wtforms