我对Flask框架相当陌生,并且正在为Webportal创建一个编辑配置文件页面。我被困在某个位置,无法自动填写表格。
这是我的表单类:
class EditProfile(Form):
username = TextField('Username', [Required()])
email = TextField('Email', [Required()])
about = TextAreaField('About', [Required()])
website = TextField('Website', [Required()])
这是我评估表格的功能。
def editprofile(nickname = None):
if g.fas_user['username'] == nickname or request.method == 'POST':
form = EditProfile()
form_action = url_for('profile.editprofile')
if request.method == 'POST' and form.validate():
if form.username.data == nickname :
query = EditProfile(form.username.data,
form.email.data,
form.about.data,
form.website.data,
)
print query #debug
db.session.add(query)
db.session.commit()
flash('User Updated')
print "added"
return(url_for('profile.editprofile'))
return render_template('profile/add.html', form=form,
form_action=form_action, title="Update Profile")
else:
return "Unauthorised"
而我的表单的html模板是form:
{% extends "base.html" %}
{% block title %}
{{ title }}
{% endblock %}
{% block content %}
{% from "_formhelpers.html" import render_field %}
<div id="Edit Profile">
<h2>{{ title }}</h2>
<form method="post" action="{{ form_action }}">
<fieldset>
<legend></legend>
{{ render_field(form.username) }}
{{ render_field(form.email)}}
{{ render_field(form.about )}}
{{ render_field(form.website) }}
</fieldset>
<input type="submit" class="button" value="Save"/>
</form>
</div>
{% endblock %}
我有一个用户类的对象。然后我要从该对象中预填充此表单。如何预填充表单中的值。我正在尝试在此处实现编辑配置文件功能。
创建对象时,需要将其传递给表单。
form = EditProfile(obj=user) # or whatever your object is called
您将遇到一些麻烦
query = EditProfile(form.username.data,
form.email.data,
form.about.data,
form.website.data,
)
db.session.add(query)
它创建EditProfile
表单的新实例。然后,您尝试将其添加到会话中。会话需要模型,而不是表单。
相反,在验证表单之后,可以将其值与对象相关联。
form.populate_obj(user) # or whatever your object is called
因为您的对象已经加载,所以您无需将其添加到会话中。您可以删除db.session.add(query)
并致电db.session.commit()
。
我有一个简单的用户模型,定义如下: 当我创建一个新的User对象时,我的字段被设置为当前时间。我想做的是,每当我保存对我的用户对象的更改时,我的字段会自动设置为当前时间。 我找遍了留档,但我似乎找不到任何与此有关的参考资料。我对SQLAlChemy非常陌生,所以我真的没有以前的经验可以借鉴。 希望得到一些反馈,谢谢。
问题内容: 我对Flask框架相当陌生,并且正在为Webportal创建编辑配置文件页面。我被困在某个位置,无法自动填写表格。 这是我的表格课: 这是我评估表格的功能。 而我的html表单模板是: 我有一个用户类的对象。然后我要从该对象中预填此表单。如何预填充表单中的值。我正在尝试在此处实现编辑配置文件功能。 问题答案: 创建对象时,需要将其传递给表单。 你将遇到一些麻烦 它创建EditProfi
我正在建立一个小网站,我已经在SQLAlChemy中拥有了我所有的模型。该网站将发布一些离线计算的信息。只有结果将被发布到一个精简的数据库,即它包含结果,而不是原始数据,但网站需要查询结果。 我将使用Flask,因为我的模型已经用Python驱动了(通过SWIG在C中进行了一些繁重的工作),我不想使用Django。 我敢肯定,以前有人问过这个问题,通常没有太多理由的咒语是“使用炼金术”。问题是为什
//内容提供程序代码 公共静态最终字符串授权=“com.battlestarMathematica.stayfresh.pantryprovider”; //游标加载程序代码
问题内容: 我有一个简单的用户模型,定义如下: 当我创建一个新的User对象时,我的字段将设置为当前时间。我想要做的是使它每当我将更改保存到User对象时,我的字段就会自动设置为当前时间。 我已经仔细阅读过文档,但是对于我一生来说,我似乎找不到任何对此的引用。我是SQLAlchemy的新手,所以我确实没有任何经验可以借鉴。 问题答案: 只需在列字段中添加或参数: 我更喜欢列名称。;) 有关列插入/
问题内容: 我遇到的烧瓶SQLAlchemy的一个问题,我可以设置对象的属性 place_collections ,但是当我想设置为对象属性 的地方 ,发生了错误: 如何设置联接搜索对象的属性,有人可以帮助我吗? 它们都是 “ flask_sqlalchemy.BaseQuery” 类。 模型 问题答案: 将返回您的对象集合。这类似于普通的香草SQLAlchemy。 但是,从SQLAlchemy