flask

Flask 会在 templates 文件夹里寻找 Jinja2 模板
 Flaskr 是一个关系数据库驱动的应用:关系型数据库需要一个数据库模式来定义如何储存信息,此必须在第一次运行 服务器前创建数据库模式。
顺序是,导入相关库,配置,初始化数据库,创建数据库

我链接数据库sqlite3不知道出错了没有,不过通过pycharm的强大功能,我创建了scheme.sql文件成功链接上了本地的数据库



app.config.from_object(__name__)
app.config.from_envvar('FLASKR_SETTINGS', silent=True)
导入配置文件

连接指定数据库的方法。
def connect_db():    return sqlite3.connect(app.config['DATABASE'])

在应用中添加一个数据库初始化 函数。

添加的方法是:首先从 contextlib 库中导入 contextlib.closing() 函数,即在flaskr.py 文件的导入部分添加如下内容:

from contextlib import closing
下来,可以创建一个用来初始化数据库的 init_db 函数
closing()  连接数据库
open_resource() 打开数据库读取数据
当我们连接到数据库时,我们得到一个提供指针的连接对象


请求数据库连接

们会在每一个函数中用到数据库连接,因此有必要在请求之前初始化连接,并在 请求之后关闭连接。
 before_request() 装饰的函数会在请求之前调用,且不传递 参数。使用after_request() 装饰的函数会在请求之后调用,且 传递发送给客户端响应对象。它们必须传递响应对象,所以在出错的情况下就不会执行。 因此我们就要用到teardown_request() 装饰器了。这个装饰器下 的函数在响应对象构建后被调用。它们不允许修改请求,并且它们的返回值被忽略。如果 请求过程中出错,那么这个错误会传递给每个函数;否则传递 Non


数据库连接保存在 Flask 提供的特殊的 g 对象中。



























原文地址:https://www.cnblogs.com/wuqingzangyue/p/5749970.html