STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '数据库名字',
'USER': 'root',
'PASSWORD': 'admin',
'HOST': '',
'PORT': '3306',
}
}
在app的init里设置, 加在项目里的init也行, 我上线的博客项目写在了app的init,不过昨天做的celery就只能写在项目的init里,奇怪了
import pymysql
pymysql.install_as_MySQLdb()
# ###################################### 新增 ############################################
把mysql作为数据库可能报错
File "/usr/local/bin/python3/lib/python3.7/site-packages/django/db/backends/mysql/base.py", line 36, in <module>
raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
有的解决办法是改源码, 我也是跟着改了, 确实不报错了。
但是目前发现的最好的解决办法是
pip install mysqlclient
pip uninstall pymysql
init 文件啥都不用写,就ok了
在settings中,加, 显示数据库操作时,对应sql语句
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
},
},
'loggers': {
'django.db.backends': {
'handlers': ['console'],
'propagate': True,
'level': 'DEBUG',
},
}
}