Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用WTForms';用Flask微框架填充_obj()方法_Python_Flask_Wtforms_Mongokit - Fatal编程技术网

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)