我有一个允许用户编辑其用户信息的模板。
<form method="post">
<table>
<tr>
<td>Username:</td>
<td>{{user['username']}}</td>
</tr>
<tr>
<td>New Password:</td>
<td> <input type="password" name="password"></td>
<td>{% if form.password.errors %} {{form.password.errors}} {% endif %}<td>
</tr>
<tr>
<td>Re-enter Password:</td>
<td> <input type="password" name="confirm_password">
</td>
</tr>
<input type='hidden' name='username' value="{{user['username']}}">
<tr>
<td><input type="submit" value="Submit"></td>
</tr>
</table>
</form>
我还有一个查看功能来处理用户的此类编辑。我当前使用的数据库是MongoDB http://en.wikipedia.org/wiki/MongoDB与MongoKit http://pypi.python.org/pypi/mongokit模块。到目前为止,我只能在视图函数中做到这一点,但运气不佳。
def edit():
username = request.args.get('user')
user = User.find_one({'username':username}) # Is this a correct way of doing it?
form = UserForm(**what should be placed here?**, obj=user)
if request.method == 'POST' and form.validate():
form.populate_obj(user)
user.save()
return 'updated'
return render_template('edituser.html', form=form, user=user)
我正在经历填充_obj(obj) http://wtforms.simplecodes.com/docs/0.6.1/forms.html#wtforms.form.Form.populate_obj以此目的。在这件事上我找不到太多帮助。我应该做什么才能得到populate_obj()
在职的?
UserForm
应该有request.form
传递给它以使用 POST 请求中可用的值(如果有)填充它。
form = UserForm(request.form, obj=user)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)