我正在尝试添加一个更新配置文件信息部分到我的网站。每当我更新信息时,它会在字段留空时删除以前的信息,并用一个None值替换它。当人们更新他们的个人资料时,这显然不是我想要的。你知道吗
这是我的表格:
class EditForm(Form):
displayname = StringField('displayname', validators=[Optional(),Length(min=3, max=25)], filters = [lambda x: x or None])
status = StringField('status', validators=[Optional(),Length(min=1, max=64)], filters = [lambda x: x or None])
gender = StringField('gender', validators=[Optional(),Length(min=3, max=25)], filters = [lambda x: x or None])
age = IntegerField('age', validators=[Optional(),NumberRange(min=1, max=2)], filters = [lambda x: x or None])
pref = TextAreaField('pref', validators = [Optional()], filters = [lambda x: x or None])
about = TextAreaField('pref', validators = [Optional()], filters = [lambda x: x or None])
img =StringField('Image Url', validators = [Optional(), Length(max = 100)], filters = [lambda x: x or None])
如您所见,我添加了可选的和过滤器。你知道吗
对于页面本身,我有以下内容:
@app.route("/settings" , methods=['GET','POST'])
@login_required
def settings():
user=g.user
error=None
userInfo = UserSettings.query.filter_by(username=user.username).first()
formo = EditForm(request.form)
if formo.validate_on_submit():
userInfo.displayname = formo.displayname.data
userInfo.status=formo.status.data
userInfo.gender=formo.gender.data
userInfo.age=formo.age.data
userInfo.pref=formo.pref.data
userInfo.about=formo.about.data
userInfo.img=formo.img.data
db.session.commit()
return redirect(url_for('dash'))
return render_template("settings.html", error=error, formo=formo, userInfo=userInfo, user=user)
有别的办法吗?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐