Sqlite3与Flask的使用方式有何不同?

时间:2013-11-25 06:28:39

标签: python sqlite flask

我现在正在使用Flask和SQLite3的CRUD项目。这是我的代码

def connect_db():
    return sqlite3.connect(app.config['DATABASE'])

@app.route('/hello')
def hello():
    g.db = connect_db()
    cur = g.db.execute('SELECT name, lastname FROM customer')
    x = [dict(name=row[0], lastname=row[1]) for row in cur.fetchall()]
    g.db.close()
    return render_template('hello.html', customer=x)

我是非常新的编程,也是数据库的新手。我已经阅读了Flask文档,这篇文章:http://flask.pocoo.org/docs/patterns/sqlite3/并且发现它很混乱。在flask doc中提供的步骤有什么好处?它背后的概念是什么?我真的迷失了他们正在做的事情。我可以像上面的代码一样按照我的方式做吗?或者我应该改变自己使用烧瓶doc样式?我现在正在为餐馆库存做一个基本的CRUD应用程序。

1 个答案:

答案 0 :(得分:0)

基本上你想要做的是在应用程序上下文中创建一个数据库,这就是你使用flask.g的原因,然后在不再需要时关闭它(即当请求被关闭时)。

那个和你的代码大致是一样的,但是随着你不必每次请求都手动关闭连接,烧瓶doc会更好地“工作”,只有在必要时它才会打开。