
用户资料
|
107
图 10-1:用户资料页面
如果你从
GitHub
上克隆了这个应用的
Git
仓库,那么可以执行
git checkout
10a
检出应用的这个版本。这个版本包含一个数据库迁移,检出代码后记得
执行
flask db upgrade
命令。
10.3
资料编辑器
用户资料的编辑分两种情况。最显而易见的情况是,用户要进入一个页面,输入自己的资
料,以便显示在自己的资料页面上。还有一种不太明显但也同样重要的情况,那就是要让
管理员能够编辑任意用户的资料——不仅要能编辑用户的个人信息,还要能编辑用户不能
直接访问的 User 模型字段,例如用户角色。这两种编辑需求有本质上的区别,所以我们将
创建两个不同的表单。
10.3.1
用户级资料编辑器
普通用户的资料编辑表单如示例
10-7
所示。
示例
10-7
app/main/forms.py
:资料编辑表单
class EditProfileForm(FlaskForm):
name = StringField('Real name', validators=[Length(0, 64)])
location = StringField('Location', validators=[Length(0, 64)])
about_me = TextAreaField('About me')
submit = SubmitField('Submit')
注意,这个表单中的所有字段都是可选的,因此长度验证函数的最小值为零。显示这个表
单的路由定义如示例
10-8 ...