【发布时间】:2011-09-05 23:59:40
【问题描述】:
我有一个允许用户编辑其用户信息的模板。
<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 和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)
为此,我正在通过populate_obj(obj)。在这件事上我找不到太多帮助。我应该怎么做才能让populate_obj() 工作?
【问题讨论】:
-
您需要描述您遇到了什么错误,或者您获得的结果与您的预期有何不同。
-
我希望有人能指出我应该在我写的地方保留什么应该放在这里什么?。还有关于通过这种方式获得的用户对象是否允许通过。
标签: python flask wtforms mongokit