在泛滥的数据库抉择中,除了 mysql 频繁被应用外,SQLite 也是会被提到的。置信很多人对这种数据库还不是太相熟,所以本篇对配置 SQLite 的办法做了一个残缺的梳理。大家在装置好 SQLAlchemy 后,也能够同时实现跟 SQLite 数据库的连贯操作。上面咱们就具体的配置办法开展详解。
1、应用 pip 装置 Flask-SQLAlchemy:
$ pip install flask-sqlalchemy
2、接下来,咱们配置一个简略的 SQLite 数据库:
$ cat app.py
# -*- coding: utf-8 -*-
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db/users.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app)
class User(db.Model):
"""定义数据模型"""
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
email = db.Column(db.String(120), unique=True)
def __init__(self, username, email):
self.username = username
self.email = email
def __repr__(self):
return '<User %r>' % self.username
3、这里有几点须要留神:
(1)app 利用配置项 SQLALCHEMY_DATABASE_URI 指定了 SQLAlchemy 所要操作的数据库,这里咱们应用的是 SQLite,数据库 URL 以 sqlite:/// 结尾,前面的 db/users.db 示意数据库文件寄存在当前目录的 db 子目录中的 users.db 文件。当然,你也能够应用绝对路径,如 /tmp/users.db 等。
(2)db 对象是 SQLAlchemy 类的实例,示意程序应用的数据库。
(3)咱们定义的 User 模型必须继承自 db.Model,这里的模型其实就对应着数据库中的表。其中,类变量__tablename__ 定义了在数据库中应用的表名,如果该变量没有被定义,Flask-SQLAlchemy 会应用一个默认名字。
4、接着,咱们创立表和数据库。为此,咱们先在当前目录创立 db 子目录和新建一个 users.db 文件,而后在交互式 Python shell 中导入 db 对象并调用 SQLAlchemy 类的 create_all() 办法:
$ mkdir db
$ python
>>> from app import db
>>> db.create_all()
以上就是 Flask 中 SQLAlchemy 配置 SQLite 的办法,大家如果在之前曾经连贯过 mysql,那么 SQLite 的配置也是手到擒来了。在看齐全篇内容后,也快入手试试吧。