flask forum开发笔记(2)Mysql数据库运用

因为网站首先要做的功能是登录注册,所以打算先配置连接好Mysql数据库。当然数据库的选择有很多,Mysql、Postgres、SQLite、MongoDB等,《flask web开发》这本书中采用的是SQLite数据库,这个forum将采用Mysql数据库,工作中也应该是Mysql数据库运用更加广泛些。
Mysql数据库的URL格式为

mysql://username:password@hostname/database

接下来写配置文件(config.py)

import os

basedir = os.path.abspath(os.path.dirname(__file__))

class Config:
    SQLALCHEMY_DATABASE_URI = 'mysql://root:ll@localhost/forumweb'
    SQLALCHEMY_TRACK_MODIFICATIONS = True
    ...

    @staticmethod
    def init_app(app):
        pass

config ={ 'default': Config }

《flask web开发》这本书中数据库的配置有一条为

SQLALCHEMY_COMMIT_ON_TEARDOWN = True

这条配置语句用于每次request自动提交db.session.commit()
但是在最新版的Flask-SQLAlchemy中这个配置键已经被移除了
需要配置新的配置键

SQLALCHEMY_TRACK_MODIFICATIONS = True

这个配置键的作用是:如果设置成 True (默认情况),Flask-SQLAlchemy 将会追踪对象的修改并且发送信号。这需要额外的内存, 如果不必要的可以禁用它。

配置完成后即可在shell模式下测试,通过db.create_all()创建数据库,然后添加一些行,用db.session.add()添加,最后用db.session.commit()提交(修改行,删除行等不做赘述)。检验方式可以继续在shell模式下用命令查你插入行的id值是否已经添加,或者借助图形化工具MySQLWorkbench检验。

你可能感兴趣的:(flask forum开发笔记(2)Mysql数据库运用)