flask forum开发笔记(2)Mysql数据库运用
2016-12-01 本文已影响0人
RickyLin7
因为网站首先要做的功能是登录注册,所以打算先配置连接好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检验。