Flask SQLAlchemy在App结束之前不会提交

时间:2013-03-28 17:23:24

标签: sqlalchemy flask

我已经开始了这样的会议:

from flask.ext.sqlalchemy import SQLAlchemy
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://mydatabase'
db = SQLAlchemy(app)

我正在向我的数据库添加条目,如下所示:

db.session.add(user(name, password))
db.session.commit()

添加后,我立即渲染一个新模板。渲染模板时,它应该包含我刚刚添加的数据,但事实并非如此。但是,当我用ctrl-c结束我的应用程序,然后重新启动它时,我现在添加的数据显示。

使用GET提交数据。使用flask.request.args.get获取参数,并获取名称和密码。然后使用上面的db.session.add添加数据。

完成db.session.add后,数据从整个数据库中获取,如下所示:

users = []
for userentry in user.query.all():
    users.append(userentry.name)

在模板中:

{% for name in users %}
    <p>{{name}}</p>
{% endfor %}

然后使用:return render_template('my_page.html', users=users)

呈现模板

1 个答案:

答案 0 :(得分:0)

我似乎一直在使用我在Flask Mega Tutorial上找到的旧设计模式。我通过打开单个会话来添加数据来解决我的问题。 http://docs.sqlalchemy.org/en/rel_0_7/orm/session.html