django配置文件 路飞后台配置之封装logger ## 2 路飞后台配置之封装全局异常 路飞数据库配置 User模块User表配置,开放media访问
django配置文件
import os
import sys
# BASE_DIR不是项目的根路径,他是小的lufeiapi
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# apps路径加入环境变量
sys.path.append(os.path.join(BASE_DIR, 'apps'))
# 加入小lufeiapi到环境变量
sys.path.append(BASE_DIR)
# 导入模块可以从apps下直接进行导入 从项目根路径下开始导入
# 这是一串密钥.session 的加密 必须存在 django中某个地方加密需要用到这个密钥
SECRET_KEY = 'x#7tnzeka5!%sjyo=+#y_0!bjx(6n_^$k^g=-q*kqu140amw(='
# 是否是调试线上环境要用False,
DEBUG = True
# 运行的项目运行在那个地址之上
ALLOWED_HOSTS = []
# Application definition
# 所有的App
INSTALLED_APPS = [
'django.contrib.admin', # admin的后台管理
'django.contrib.auth', # 他有六个表,auth表,自带rbac的认证
'django.contrib.contenttypes', # 生成contenttype表
'django.contrib.sessions', # session 相关 有这个可以进行request.session
'django.contrib.messages', # 消息框架 flask闪现 前后端混合的时候用得较多分离之后就变得较少
'django.contrib.staticfiles', # 静态文件
'user',
'home'
]
# 七个中间件间
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware', # 安全 配合上边的密钥进行一些安全的验证
'django.contrib.sessions.middleware.SessionMiddleware', # session app的中间件
'django.middleware.common.CommonMiddleware', # 路径后带不带斜杠 (进行两次地址的匹配访问然后才加上了斜杠,第一次匹配不成功,然后redirect重定向这个路由)
'django.middleware.csrf.CsrfViewMiddleware', # csrf:前后端分离后,不带rcsrf了
'django.contrib.auth.middleware.AuthenticationMiddleware', # request.user (生成)
'django.contrib.messages.middleware.MessageMiddleware', # 消息框架
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
# 总路由
ROOT_URLCONF = 'lufeiapi.urls'
# 模板相关
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates'), ]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
# 上线用的,运行application对象 application()==运行
WSGI_APPLICATION = 'lufeiapi.wsgi.application'
# (数据库,主从数据库 主从数据库会提高并发量)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, '../../db.sqlite3'),
}
}
# Password validation
# https://docs.djangoproject.com/en/2.2/ref/settings/#auth-password-validators
#认证相关
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
#国际化
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE