0

私は次のようにセッションを開始しました:

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)

4

1 に答える 1

0

Flask Mega Tutorial で見つけた古いデザイン パターンを使用しているようです。データを追加するために個々のセッションを開くことで問題を解決しました。http://docs.sqlalchemy.org/en/rel_0_7/orm/session.html

于 2013-03-28T19:10:21.843 に答える