• 技术文章 >Python框架 >Flask

    Flask中SQLAlchemy配置SQLite

    小妮浅浅小妮浅浅2021-02-20 10:18:13原创9127

    在众多的数据库选择中,除了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的配置也是手到擒来了。在看完全篇内容后,也快动手试试吧。更多Python框架指路:Flask

    专题推荐:flask sqlalchemy
    品易云
    上一篇:Flask中SQLAlchemy如何安装? 下一篇:flask中模板引擎怎么用?

    相关文章推荐

    • flask中flask-restful是什么?• Flask中怎样返回html文件?• Flask中SQLAlchemy如何安装?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网