您的位置:首页 > 数据库 > SQL

Django配置Mysql

2020-08-14 14:43 801 查看

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',
},
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: