在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>
我还有一个查看功能,可以处理用户的此类编辑。我当前使用的数据库是带有MongoKit模块的MongoDB。到目前为止,我只能在视图功能中做到这一点,但是没有运气。
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)。在这件事上,我找不到太多帮助。为了使ѭ2工作,我该怎么办?     
已邀请:
        应将ѭ4have传递给ѭ3to,以使用POST请求中可用的值(如果有)填充它。
form = UserForm(request.form, obj=user)
    
        您在使用Flask-WTF吗?如果是这样,请查看以下示例代码: https://github.com/sean-/flask-skeleton/blob/master/skeleton/modules/aaa/views.py#L13 具体来说,您将:
def edit():
    form = UserForm()
    if form.validate_on_submit():
        # Commit your form data
底线是,如果您使用的是7英镑,我不确定您的问题是什么。如果您未使用
Flask-WTF
,请使用
Flask-WTF
。     
        对于Flask-WTF,您可以这样写
form = UserForm(obj=user)
Thant会工作!     

要回复问题请先登录注册