1.1基本配置
"""
Django settings for myDjango project.
Generated by 'django-admin startproject' using Django 3.2.5.
For more information on this file, see
https://docs.djangoproject.com/en/3.2/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/3.2/ref/settings/
"""
from pathlib import Path
import os
# Build paths inside the project like this: BASE_DIR / 'subdir'.
#BASE_DIR = Path(__file__).resolve().parent.parent
BASE_DIR = os.path.dirname(os.path.dirname(os.path.absoath(__file__))) # 设置项目在系统中的实际路径
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'django-insecure-(zo_j6yfc(1-t#w3d9+rj96m28rmadf7*@@o0ovt5$+m5ua4kf' # 自动生成的一个随机数,用于重要数据的加密处理
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True # 默认为True, 表示项目处于调式模式,即开发阶段(项目完成在进行部署时,应将其设置为False)
ALLOWED_HOSTS = [] # 可访问项目Web站点的域名,默认为空。
# 当DEBUG变量值为True, 且ALLOWED_HOSTS变量值为空时,只允许用localhost或127.0.0.1访问项目Web站点
# 在项目部署时,DEBUG变量值为False, 此时必须设置ALLOWED_HOSTS,否则项目将无法启动。例如,可设置ALLOWED_HOSTS=['*'],允许所有域名访问
# Application definition
INSTALLED_APPS = [ # 用于注册在项目中使用的应用
'django.contrib.admin', # 用于网站后台数据管理
'django.contrib.auth', # 用于用户认证
'django.contrib.contenttypes', # 用于管理项目中的应用和模型信息
'django.contrib.sessions', # 用于会话控制
'django.contrib.messages', # 用于消息框架
'django.contrib.staticfiles', # 用于静态文件管理
]
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 = 'myDjango.urls' # 设置项目的根URL配置板块
TEMPLATES = [ # 配置项目使用的模板
{
'BACKEND': 'django.template.backends.django.DjangoTemplates', # 设置处理模板的模板引擎
'DIRS': [], # 配置模板的搜索路径
'APP_DIRS': True, # 默认值为True, 表示Django默认在项目应用中的template路径中的搜索模板
'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',
],
},
},
]
WSGI_APPLICATION = 'myDjango.wsgi.application' # 设置项目运行在WSGI兼容的Web服务器的接口程序
# Database
# https://docs.djangoproject.com/en/3.2/ref/settings/#databases
# 进行数据库的相关配置(Django项目默认使用SQLite3数据库)
DATABASES = {
'default': { # “default”表示项目使用的默认数据库
'ENGINE': 'django.db.backends.sqlite3', # “ENGINE”定义数据库引擎(也称数据库后端)django.db.backends.sqlite3表示使用SQLite3数据库
'NAME': BASE_DIR / 'db.sqlite3', # “NAME”指定SQLite3数据库的磁盘文件名
}
}
# Password validation
# https://docs.djangoproject.com/en/3.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',
},
]
# Internationalization
# https://docs.djangoproject.com/en/3.2/topics/i18n/
LANGUAGE_CODE = 'en-us' # 设置项目语言
TIME_ZONE = 'UTC' # 设置项目时区
USE_I18N = True # 默认为True, 表示支持国际化
USE_L10N = True # 默认为True, 表示支持格式本地化
USE_TZ = True # 设置为True, 时区设置才有效
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.2/howto/static-files/
STATIC_URL = '/static/'
# Default primary key field type
# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
2.1模板配置
TEMPLATES = [ # 配置项目使用的模板
{
'BACKEND': 'django.template.backends.django.DjangoTemplates', # 设置处理模板的模板引擎
'DIRS': [], # 配置模板的搜索路径
'APP_DIRS': True, # 默认值为True, 表示Django默认在项目应用中的template路径中的搜索模板
'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',
],
},
},
]
3.1数据库配置
# 进行数据库的相关配置(Django项目默认使用SQLite3数据库)
DATABASES = {
'default': { # “default”表示项目使用的默认数据库
'ENGINE': 'django.db.backends.sqlite3', # “ENGINE”定义数据库引擎(也称数据库后端)django.db.backends.sqlite3表示使用SQLite3数据库
'NAME': BASE_DIR / 'db.sqlite3', # “NAME”指定SQLite3数据库的磁盘文件名
}
4.1、静态资源配置
在settings.py中,项目默认的静态资源URL访问路径配置如下
STATIC_URL='/static'
其中的“static” 作为访问静态资源文件的URL路径,例如“https://127.0.0.1:8000/static ”与之对应,应该在Django项目中的各个应用中创建一个与STATIC_URL同名的文件夹来存放静态资源文件夹
settings.py的INSTALLED_APPS配置默认包含了“django.contrib.staticfiles”,它将用于管理项目中的静态文件。
5.1、实例:创建一个Django项目,项目名称为usestatic,在项目中使用图片
(1)在cmd 中执行命令,创建项目和应用
(2)在cmd中打开D:\usestatic\statics 文件夹,在其中创建一个名为static 的文件夹
(3)将图片复制到static 文件夹中
(4)用pycharm 打开项目,配置文件D:\usestatic\usestatic\settings.py, 在INSTALLED_APPS配置中添加statics应用
(5)在cmd 中执行命令,启动开发服务器
(6)在浏览器中访问 https://127.0.0.1:8000/static/1.jpg 查看图像
有时,需要将静态文件放在项目根目录的子文件夹中,以便所有应用共享。
例如,在usestatic 项目的根目录中创建一个public_statics 文件夹,然后在其中放一个图片2.jpg
此时,要访问2.jpg 需要在配置文件中STATICFILFS_DIRS,
STATICFILES_DIRS = [os.path.join(BASE_DIR,'public_statics'),]