· 6 years ago · Mar 16, 2019, 03:22 AM
1import sqlite3
2from flask import Flask, g
3
4DATABASE = 'flask.db'
5DEBUG = True
6SECRET_KEY = 'my_pass'
7USERNAME = 'admin'
8PASSWORD = 'admin'
9
10app = Flask(__name__)
11app.config.from_object(__name__)
12
13def connect_db():
14 rv = sqlite3.connect(app.config['DATABASE'])
15 rv.row_factory = sqlite3.Row
16 return rv
17
18def get_db():
19 if not hasattr(g, 'sqlite_db'):
20 g.sqlite_db = connect_db()
21 return g.sqlite_db
22
23def init_db():
24 with app.app_context():
25 db = get_db()
26 with app.open_resource('schema.sql',
27mode='r') as f:
28 db.cursor().executescript(f.read())
29 db.commit()
30
31@app.teardown_appcontext
32def close_db(error):
33 if hasattr(g, 'sqlite_db'):
34 g.sqlite_db.close()
35
36
37if __name__ == '__main__':
38 init_db()
39 app.run()