我有一個允許用戶編輯其用戶信息的模板。在Flask微型框架中使用WTForms的populate_obj()方法
<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()
的工作?
你需要描述你得到的錯誤,或者你得到的結果與你的期望有什麼不同。 – 2011-06-01 06:58:38
我希望是否有人會指出我應該保留哪些地方我應該放置在哪裏?**。關於從這種方式獲得的用戶對象也被允許通過或不通過。 – consumer 2011-06-01 09:35:23