django的配置文件每个配置项的作用
- 必须大写才是配置项
- django项目要启动,要先加载配置文件,如果配置文件报错,项目运行不起来
django配置文件settings
-
项目根路径
from pathlib import Path BASE_DIR = Path(__file__).resolve().parent.parent
-
密钥
SECRET_KEY = 'django-insecure-4i$6azd399fl$vh9%*7#oald(i&ik(5#i_-y)v&z3g+cxsd$@-'
密钥是自动生成的,很复杂,django中涉及到加密的都使用它,没有不行
-
模式
DEBUG = True 或 DEBUG = False
如果是True,项目是调试模式,好处是抛异常在浏览器直接能看到,如果路径不存在,也会提示有哪些路径
如果是False,项目是上线模式,异常不会出现在浏览器上,不会提示有哪些路径
-
服务器的地址
ALLOWED_HOSTS = ['*']
允许项目部署的地址(后期项目上线,这里写服务器的地址),debug是False,这个必须加 * ,不加就报错
-
内置项目
INSTALLED_APPS = [ 'django.contrib.admin', # 后台管理admin 'django.contrib.auth', # 权限,6个表 'django.contrib.contenttypes', 'django.contrib.sessions',# session认证相关 ---》django_session表 'django.contrib.messages', # 消息框架(不了解) 'django.contrib.staticfiles',# 静态文件 'app01.apps.App01Config', # app01 'rest_framework', ]
所有的app,django大而全,就是因为它提供了很多内置的app
-
中间件
MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', # 'django.contrib.sessions.middleware.SessionMiddleware', # session相关 'django.middleware.common.CommonMiddleware', #把路径跟路由匹配,如果匹配不成功把路径加/ 再匹配,如果匹配成功,让该请求重定向到带/的地址 'django.middleware.csrf.CsrfViewMiddleware', # csrf相关 'django.contrib.auth.middleware.AuthenticationMiddleware', # 认证相关 'django.contrib.messages.middleware.MessageMiddleware', # 消息框架,学到flask,闪现相同的功能 'django.middleware.clickjacking.XFrameOptionsMiddleware', ]
-
根路由
ROOT_URLCONF = 'drf_day08.urls'
根路由,所有请求进来,先去根路由匹配---》内部可能有路由分发
-
模板相关
TEMPLATES = [ ]
-
项目上线运行
WSGI_APPLICATION = 'drf_day08.wsgi.application'
后期项目项目上线,uwsgi运行这个application,测试阶段使用manage.py 运行项目
-
数据库配置
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } }
可以使用多种数据库
-
国际化
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
-
静态文件相关
STATIC_URL = '/static/'
-
自增主键
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
所有的自增主键都用BigAutoField