基本设置
参数 | 说明 |
---|---|
BASE_DIR |
项目根目录路径,通常用来构造其他路径。 |
SECRET_KEY |
用于数字签名的密钥,必须保密,生产环境绝对不能公开。 |
DEBUG |
控制是否开启调试模式。True 时会显示详细的错误页面;生产环境请务必设为 False 。 |
ALLOWED_HOSTS |
允许访问该 Django 应用的主机名列表(域名或 IP),调试模式下可留空,生产环境需写明域名/IP。 |
BASE_DIR = Path(__file__).resolve().parent.parent
SECRET_KEY = ‘你的密钥’
DEBUG = True
ALLOWED_HOSTS = [‘localhost’, ‘127.0.0.1’]
已安装应用
参数 | 说明 |
---|---|
INSTALLED_APPS |
列出所有启用的 Django App/第三方库。注册后,Django 会自动加载其模型、信号和管理界面等。 |
INSTALLED_APPS = [
‘django.contrib.admin’, # 管理后台
‘django.contrib.auth’, # 用户认证
‘django.contrib.contenttypes’,# 内容类型(权限系统依赖)
‘django.contrib.sessions’, # 会话框架
‘django.contrib.messages’, # 消息框架
‘django.contrib.staticfiles’, # 静态文件
# 以下是自定义或第三方应用
‘rest_framework’,
‘apps.accounts’,
‘apps.tenants’,
]
中间件
参数 | 说明 |
---|---|
MIDDLEWARE |
中间件列表,Django 在请求/响应处理链中逐一调用。常见用于安全、会话、CSRF、防御、日志等。 |
MIDDLEWARE = [
‘django.middleware.security.SecurityMiddleware’,
‘django.contrib.sessions.middleware.SessionMiddleware’,
‘django.middleware.common.CommonMiddleware’,
‘django.middleware.csrf.CsrfViewMiddleware’,
‘django.contrib.auth.middleware.AuthenticationMiddleware’,
‘django.contrib.messages.middleware.MessageMiddleware’,
‘django.middleware.clickjacking.XFrameOptionsMiddleware’,
# 自定义多租户切换
‘common.middleware.TenantMiddleware’,
]
路由与 WSGI/ASGI
参数 | 说明 |
---|---|
ROOT_URLCONF |
根 URL 配置模块路径,Django 会从这里开始解析所有路由。 |
WSGI_APPLICATION |
WSGI 应用入口,用于生产环境部署(如 Gunicorn)。 |
ASGI_APPLICATION |
ASGI 应用入口(可选),用于异步/WebSocket。 |
ROOT_URLCONF = ‘apps.config.urls’
WSGI_APPLICATION = ‘apps.config.wsgi.application’
# ASGI_APPLICATION = ‘apps.config.asgi.application’
数据库
参数 | 说明 |
---|---|
DATABASES |
数据库连接配置,支持多库。默认 SQLite,生产多用 PostgreSQL/MySQL/其他。 |
DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.postgresql’,
‘NAME’: ‘saas_db’,
‘USER’: ‘postgres’,
‘PASSWORD’: ‘password’,
‘HOST’: ‘127.0.0.1’,
‘PORT’: ‘5432’,
}
}
模板(Templates)
参数 | 说明 |
---|---|
TEMPLATES |
模板引擎配置,指定模板目录、上下文处理器等。 |
TEMPLATES = [
{
‘BACKEND’: ‘django.template.backends.django.DjangoTemplates’,
‘DIRS’: [BASE_DIR / ‘templates’], # 全局模板目录
‘APP_DIRS’: True, # 自动查找各 app 下的 templates/
‘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’,
],
},
},
]
静态与媒体文件
参数 | 说明 |
---|---|
STATIC_URL |
静态文件访问 URL 前缀。 |
STATICFILES_DIRS |
额外的静态文件目录(开发阶段)。 |
STATIC_ROOT |
collectstatic 收集静态文件的目标目录(生产环境)。 |
MEDIA_URL |
媒体文件(上传用户文件)访问 URL 前缀。 |
MEDIA_ROOT |
媒体文件在磁盘上的存放目录。 |
STATIC_URL = ‘/static/’
STATICFILES_DIRS = [BASE_DIR / ‘static’]
STATIC_ROOT = BASE_DIR / ‘staticfiles’
MEDIA_URL = ‘/media/’
MEDIA_ROOT = BASE_DIR / ‘media’
国际化/时区
参数 | 说明 |
---|---|
LANGUAGE_CODE |
语言代码,默认 'en-us' ,可改为 'zh-hans' 等。 |
TIME_ZONE |
时区,推荐设置为你所在时区,如 'Asia/Shanghai' 。 |
USE_I18N |
是否启用国际化(翻译)功能。 |
USE_L10N |
是否启用本地化格式化日期、数字等。 |
USE_TZ |
是否启用时区支持。 |
LANGUAGE_CODE = ‘zh-hans’
TIME_ZONE = ‘Asia/Shanghai’
USE_I18N = True
USE_L10N = True
USE_TZ = True
安全相关
参数 | 说明 |
---|---|
SECURE_BROWSER_XSS_FILTER |
是否启用浏览器的 XSS 过滤。 |
SECURE_CONTENT_TYPE_NOSNIFF |
是否防止浏览器 MIME 类型嗅探,降低 XSS 风险。 |
SESSION_COOKIE_SECURE |
是否只通过 HTTPS 传输 Session Cookie(生产环境强烈建议启用)。 |
CSRF_COOKIE_SECURE |
是否只通过 HTTPS 传输 CSRF Cookie(生产环境强烈建议启用)。 |
自定义配置
多租户相关:如 TENANT_MODEL = ‘tenants.Tenant’、TENANT_DOMAIN_MODEL = ‘tenants.Domain’ 等。
第三方服务:API Key、邮件服务器配置、缓存等。
日志:LOGGING 配置,定义日志处理器和格式。