0. 第二章 Django 配置信息
Django 的配置文件settings.py 用于配置整个网站的环境个功能, 核心配置必须与项目的路径, 密钥配置,
域名访问权限, App列表, 中间件, 资源文件, 模板配置, 数据库分连接方式.
1. 基本配置信息
创建一个项目, 它的基本配置文件几乎都一样.
1.1 项目路径
from pathlib import Path
BASE_DIR = Path(__file__).resolve().parent.parent
* 1. 项目路径: BASE_DIR: 通过os模块读取项目在当前计算机上的路径.
1.2 密钥配置
SECRET_KEY = '^c=aei3w_(!*5bevjmhp_snbo*jw-d^b^cs7=k%1wk+bssius@'
* 2.密钥配置: SECRET_KEY: 一个随机值, 创建项目时自动生成, 主要用于重要的数据加密处理, 提高项目的安全性,
避免遭到攻击者恶意破坏. 密钥只要用于用户密码, CSRF机制, 会话Session等数据加密.
2.1 用户密码: Django内置一个Auth认证系统, 该系统具有用户认证和存储用户信息等功能, 在创建用户的时候,
将用户密码通过密钥镜像加密处理, 保证用户的安全性.
2.2 CSRF机制: 该机制只要用于表单提交, 防止窃取网站用户信息制造恶意请求.
2.3 会话Session: Session的信息存放在Cookie中, 以一串随机字符串表示用于标识当前访问站点的用户身份,
记录相关用户信息.
1.3 调试模式
DEBUG = True
* 3. 调式模式: DEBUG: 该值为布尔类型.
在开发调试阶段, 设置为True, 在开发调试过程中会自动检测代码是否发生了更改, 如果更改则重启项目.
在项目部署上线, 设置为False, 否则会泄露项目的相关信息.
1.4 域名访问权限
ALLOWED_HOSTS = []
* 4. 域名访问权限: ALLOWED_HOSTS: 设置可以访问的域名, 默认值为空列表.
当DEBUG为True, 并且ALLOWED_HOSTS为空列表时, 项目允许以localhost 或 127.0.0.1 在浏览器上访问.
当DEBUG为False, ALLOWED_HOSTS为必填项, 否则承运无法启动,
如果想运行所有域名访问, 可设置ALLOWED_HOSTS = ['*']
1.5 App列表
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01',
]
App列表: INSTALLED_APPS: Django可以运行的App. 在项目创建时已有 admin, auth, session, 等配置信息.
如果在项目中创建的App, 需要添加到App列表中, 否则该App应用就无法使用.
内置应用 | 说明 |
---|
admin | 内置的后台管理系统. |
auth | 内置的用户认证系统. |
contenttypes | 记录项目中所有的model元数据, (Django 的ORM框架). |
session | Session会话功能, 用于标识当前访问网站的用户身份, 记录用户相关信息. |
messages | 消息提示功能 |
staticfiles | 查找静态资源路径. |
2. 资源文件配置
* 1. 资源文件配置分为 静态资源 和 媒体资源.
静态资源的配置方式由配置属性STATIC_URL, STATICFILES_DIRS, STATIC_ROOT进行配置.
媒体资源的配置方式由配置属性MEDIA_URL, MEDIA_ROOT进行配置.
* 2. 静态资源指的是网站中不会改变的文件. 在一般的应用程序中, 静态资源包括CSS文件, JavaScript文件,
图片等资源文件.
一个项目在开发过程中肯定需要使用CSS和JavaScript文件, 这些静态文件的存放主要由配置文件settings.py配置.
2.1 默认配置
Django默认的静态文件配置信息. ↓
STATIC_URL = '/static/'
配置中设置静态资源的路由地址, 其作用是可以通过浏览器访问Django的静态资源.
资源路由STRTIC_URL的值为'/static/', Django在调试模式(DEBUG=True)
下只能识别项目应用App的static目录下的静态资源.
当项目启动时, Django会从项目应用App里面查找相关的资源文件, 查找功能主要由App列表的INSTALLED_APPS
的staticfiles实现.
2.2 访问应用的静态文件
* 1. 在app01应用下创建static目录与my_flies目录, 分别在目录下放置一张图片.
![image-20220331093809380](https://img-blog.csdnimg.cn/img_convert/a15151819de83ec88ac626a33f4450a5.png)
static/python.jpg
![image-20220331100547493](https://img-blog.csdnimg.cn/img_convert/03320cef2db446ec6b59ea2878263ddc.png)
my_files/mysql.jpg
* 2. 启动项目
* 3. 在浏览器中输入: 127.0.0.1:8000/static/python.jpg 正常访问到图片资源.
![image-20220331094646892](https://img-blog.csdnimg.cn/img_convert/f37e87ecb1103beaeab79eda00af0f1b.png)
* 4. 在浏览器中输入: 127.0.0.1:8000/my_files/mysql.jpg 404 找不到网页
![image-20220331100900237](https://img-blog.csdnimg.cn/img_convert/b5eaa86f99d273ba62e99d9f2f97e8f3.png)