django setting.py配置文件解读-02
定义项目目录常量
import os # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
随机秘钥
# SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = '=XXXXXXXXXXXXXXXXXX'
是否开启调试模式
一般开发环境debug设置为开启 生成环境设置成关闭
# SECURITY WARNING: don't run with debug turned on in production! DEBUG = True
允许投放的域名或主机
为空则默认为本地127.0.0.1 或者 localhost 进行验证
ALLOWED_HOSTS = []
应用程序的定义
# Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # 添加上 blog 这个 app 'blog', ]
中间件
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', ]
配置路由指向地址
ROOT_URLCONF = 'demo.urls'
模板引擎配置
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], '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', ], }, }, ]
BACKEND django内置的实现模板引擎API的类
DIRS 定义了一个目录列表,其中引擎应该在搜索顺序中寻找模板源文件 'DIRS': [BASE_DIR+"/templates",], # 修改位置
APP_DIRS 表示引擎是否应该在已安装的应用程序中寻找模板。每个后端都为其模板应该存储的应用程序中的子目录定义了一个常规名称
OPTIONS 包含特定后台设置
WSGI的配置文件路径
WSGI_APPLICATION = 'demo.wsgi.application'
django的内置服务器(如runserver)将使用的WSGI应用程序对象的完整Python路径。django-admin startproject management命令将创建一个简单的wsgi。py文件,其中有一个可调用的应用程序,并将这个设置指向该应用程序。
如果没有设置,则将使用django.core.wsgi.get wsgiapplication()的返回值。在这种情况下,runserver的行为将与以前的Django版本相同。
数据库配置
DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), # } 'default': { 'ENGINE': 'django.db.backends.mysql', # 或者使用 mysql.connector.django 'NAME': 'bigdata', 'USER': 'root', 'PASSWORD': '', 'HOST': 'localhost', 'PORT': '3306', } }
相关验证
用于检查用户密码强度的验证器列表。有关更多细节,请参阅密码验证。默认情况下,不执行验证,所有密码都被接受。
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', }, ]
语言 时区 及 国际化相关配置
# Internationalization # https://docs.djangoproject.com/en/2.0/topics/i18n/ LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True
设置静态文件存放目录
# https://docs.djangoproject.com/en/2.0/howto/static-files/ STATIC_URL = '/static/'
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· Vite CVE-2025-30208 安全漏洞
· 《HelloGitHub》第 108 期
· MQ 如何保证数据一致性?
· 一个基于 .NET 开源免费的异地组网和内网穿透工具