1. 设置数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME':'orm', #要连接的数据库,连接前需要创建好
'USER':'root', #连接数据库的用户名
'PASSWORD':'', #连接数据库的密码
'HOST':'127.0.0.1', # 连接主机,默认本级
'PORT':3306 #端口 默认3306
}
}
2. 设置日志调试
LOGGING= {
'version':1,
'disable_existing_loggers':False,
'handlers': {
'console':{
'level':'DEBUG',
'class':'logging.StreamHandler',
},
},
'loggers': {
'django.db.backends': {
'handlers': ['console'],
'propagate':True,
'level':'DEBUG',
},
}
}
3. 提示no moudle named MySQLdb,
这是因为django默认你导入的驱动是MySQLdb,可是MySQLdb 对于py3有很大问题,所以我们需要的驱动是PyMySQL 所以,我们只需要找到项目名文件下的__init__,在里面写入
import pymysql
pymysql.install_as_MySQLdb()
4. pymysql版本报错
在项目名文件下的__init__,在里面写入
1,3,3 根据报错的版本号填写
pymysql.version_info = (1, 3, 3, "final", 0)
适合Django 2.0的解决办法
通过查找路径C:ProgramsPythonPython36-32Libsite-packagesDjango-2.0-py3.6.eggdjangodbackendsmysql
这个路径里的文件把注释掉 就OK了。
if version < (1,3,3):
raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)
5. 数据库迁移命令
python manage.py makemigrations
python manage.py migrate
6. auth模块中如果不用默认的user表,而是要自定义扩展字段的
setting.py中要添加 AUTH_USER_MODEL = "app02.UserInfo"
app02是应用名,UserInfo是自定义类名.
7. 如果多个应用解藕,在setting中INSTALLED_APPS写入应用名字
8. 如果有自定义中间件,在setting中MIDDLEWARE写入中间件,
格式为应用名.py文件名.自定义中间件类名
9. 设置时区
10. 解藕前后端文件,也可以再进一步在里面按照应用名进一步解藕
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR,"my_statics")]
11. 解藕上传文件,也可以再进一步在里面按照应用名进一步解藕,注意这里和static不一样,不是一个列表
MEDIA_ROOT = os.path.join(BASE_DIR,"cnblogs/upload_folder")