一、连接和断开数据库
这里的数据库使用python内置的sqlite数据库,名为sqlite3。
flaskr/db.py:
# -*- coding:utf-8 -*-
"""
define and access database
g: 独立于每一个请求的全局对象,可用于存储每个函数都用到的数据。
current_app:指向处理请求的Flask应用
"""
import sqlite3
import click
from flask import current_app
from flask import g
from flask.cli import with_appcontext
def get_db():
"""连接数据库
1.连接之前判断数据库是否已经连接
"""
if 'db' not in g:
g.db = sqlite3.connect(
current_app.config['DATABASE'],
detect_types=sqlite3.PARSE_DECLTYPES
)
g.db.row_factory = sqlite3.Row
return g.db
def close_db(e=None):
"""关闭数据库连接
"""
db = g.pop('db', None)
if db is not None:
db.close()
二、创建表
创建两张表,一张是用户表(user),一张是文章表(post)。
flaskr/schema.s