1 Django默认使用sqlite
修改django 配置模块
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'database1', 'USER': 'root', 'PASSWORD': '123456', 'HOST': '127.0.0.1', 'PORT': 3306, 'ATOMIC_REQUEST': True, 'OPTIONS': { "init_command": "SET default_storage_engine=INNODB", } } } ''' 'NAME':要连接的数据库,连接前需要创建好 'USER':连接数据库的用户名 'PASSWORD':连接数据库的密码 'HOST':连接主机,默认本机 'PORT':端口 默认3306 'ATOMIC_REQUEST': True, 设置为True统一个http请求对应的所有sql都放在一个事务中执行(要么所有都成功,要么所有都失败)。 是全局性的配置, 如果要对某个http请求放水(然后自定义事务),可以用non_atomic_requests修饰器 设置创建表的存储引擎为MyISAM,INNODB '''
2 在项目根目录的__init__.py中添加pymysql驱动
import pymysql pymysql.version_info = (1, 4, 13, "final", 0) pymysql.install_as_MySQLdb()
不添加第二行版本,会有报错显示
3 使用migrate更新django框架的表单
python manage.py makemigrations python manage.py migrate
4 如果Log出mysql原生sql语句,在settings.py中添加如下
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level':'DEBUG', 'class':'logging.StreamHandler', }, }, 'loggers': { 'django.db.backends': { 'handlers': ['console'], 'propagate': True, 'level':'DEBUG', }, } }