Python 使用WTForms';用Flask微框架填充_obj()方法
我有一个模板,允许用户编辑他们的用户信息Python 使用WTForms';用Flask微框架填充_obj()方法,python,flask,wtforms,mongokit,Python,Flask,Wtforms,Mongokit,我有一个模板,允许用户编辑他们的用户信息 <form method="post"> <table> <tr> <td>Username:</td> <td>{{user['username']}}</td> </tr> <tr> <td>New Pas
<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>
我正为此而努力。在这件事上我找不到什么帮助。我应该怎么做才能使填充\u obj()
工作?您正在使用吗?如果是,请查看以下示例代码:
具体而言,你会:
def edit():
form = UserForm()
if form.validate_on_submit():
# Commit your form data
总之,如果您使用的是
Flask WTF
,我不确定您的问题是什么。如果您没有使用Flask-WTF
,请使用Flask-WTF
UserForm
应具有请求。表单
传递到其中,以使用POST请求中的可用值(如果有)填充它
对于Flask WTF,您可以这样写
form = UserForm(obj=user)
丹特会成功的 你需要描述一下你犯了什么错误,或者你得到的结果与你的期望有什么不同。我希望有人能指出我应该把什么放在我写的地方,应该放在这里?。另外,关于通过这种方式获得的用户对象是否允许通过。仅适用于本机
WTForms
。Flask WTF
@Sean-True不需要额外的请求.form
。。。这就是为什么Flask-WTF
是一个很好的扩展的部分原因;它有助于简化样板。但是OP没有使用Flask-WTF
,因此简单地建议他使用它有点类似于建议使用jQuery来解决JavaScript问题。这将意味着你的问题为你解决了——但问题为你解决了。。。你还不知道怎么解决它。这就是为什么我只给了OP一种方法来做他需要的事情,使用Flask和WTForms(你已经很好地指出了Flask WTF
的优点,我给了你一个+1;-)。诺德的更正更多的是针对谷歌cookies。也就是说,如果用户在开发(与维护)过程中遇到问题,那么建议现在和以后的生活更容易些。:~]“底线是,如果你使用的是Flask WTF,我不确定你的问题是什么。如果你没有使用Flask WTF,请使用Flask WTF。”最后一句话我非常同意。如果您不使用Flask WTF,请使用Flask WTF。很难看到该示例中发生了什么,因为您正在执行自定义SQLA内容,而不仅仅是一个普通的db.session.commit()
:)
form = UserForm(request.form, obj=user)
form = UserForm(obj=user)