Browse Source

Merge pull request #625 from soulseekah/master

Use sqlite3.Row factory in Flaskr (#588)
pull/670/head
Kenneth Reitz 12 years ago
parent
commit
3fdcefbcda
  1. 4
      docs/patterns/sqlite3.rst
  2. 7
      examples/flaskr/flaskr.py

4
docs/patterns/sqlite3.rst

@ -76,6 +76,10 @@ dictionaries instead of tuples this can be used::
db.row_factory = make_dicts
Or even simpler::
db.row_factory = sqlite3.Row
Additionally it is a good idea to provide a query function that combines
getting the cursor, executing and fetching the results::

7
examples/flaskr/flaskr.py

@ -42,7 +42,10 @@ def get_db():
"""
top = _app_ctx_stack.top
if not hasattr(top, 'sqlite_db'):
top.sqlite_db = sqlite3.connect(app.config['DATABASE'])
sqlite_db = sqlite3.connect(app.config['DATABASE'])
sqlite_db.row_factory = sqlite3.Row
top.sqlite_db = sqlite_db
return top.sqlite_db
@ -58,7 +61,7 @@ def close_db_connection(exception):
def show_entries():
db = get_db()
cur = db.execute('select title, text from entries order by id desc')
entries = [dict(title=row[0], text=row[1]) for row in cur.fetchall()]
entries = cur.fetchall()
return render_template('show_entries.html', entries=entries)

Loading…
Cancel
Save