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检验。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容