hand
_1_35_23
4
python3.X - Web - Django3.2.9
共43篇
python3.X - Web - Django3.2.9
返回栏目
0k
0.6k
0.1k
0.2k
0.1k
0.2k
6k
1k
6k
2k
2k
0.4k
0.3k
0.3k
1k
0.5k
3k
2k
0.6k
0.9k
1k
1k
3k
0.1k
0.3k
0.4k
0.4k
0.1k
0.3k
2k
1k
1k
1k
5k
1k
1k
0k
3k
2k
0k
0.1k
0.3k
0k
返回python3.X - Web - Django3.2.9栏目
作者:
贺及楼
成为作者
更新日期:2021-12-15 16:11:08
MIDDLEWARE=(
# 默认中间件
'blueapps.middleware.request_provider.RequestProvider',
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
# 跨域检测中间件, 默认关闭
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
'blueapps.core.exceptions.middleware.AppExceptionMiddleware',
# django国际化中间件
'django.middleware.locale.LocaleMiddleware',
)
中间件名称 | 中文 | 作用 |
---|---|---|
Cache | 缓存中间件 | |
Common | 通用中间件 | |
GZip | 内容压缩中间件 | 用于减小响应体积,降低带宽压力,提高传输速度。 |
Conditional GET | 有条件的GET访问中间件 | |
Locale | 本地化中间件 | 用于处理国际化和本地化,语言翻译。 |
Message | 消息中间件 | 基于cookie或者会话的消息功能 |
security | 安全中间件 | |
Session | 会话中间件 | |
Site | 站点框架 | |
Authentication | 认证框架 | 提供用户认证服务 |
CSRF protection | CSRF防御机制 | |
自定义中间件 |
如果启用了该中间件,
Django会以CACHE_MIDDLEWARE_SECONDS 配置的参数进行全站级别的缓存。
该中间件为我们提供了一些便利的功能:
用于减小响应体积,降低带宽压力,提高传输速度。
该中间件必须位于其它所有需要读写响应体内容的中间件之前。
如果存在下面情况之一,将不会压缩响应内容:
内容少于200 bytes
已经设置了 Content-Encoding 头部属性
请求的 Accept-Encoding 头部属性未包含 gzip.
可以使用 gzip_page() 装饰器,为视图单独开启GZip压缩服务。
很少使用。
用于处理国际化和本地化,语言翻译。
基于cookie或者会话的消息功能,比较常用。
django.middleware.security.SecurityMiddleware中间件为我们提供了一系列的网站安全保护功能。
主要包括下列所示,可以单独开启或关闭:
非常常用。
这是一个很有用,但又被忽视的功能。
它可以让你的Django具备多站点支持的功能。
通过增加一个site属性,区分当前request请求访问的对应站点。
无需多个IP或域名,无需开启多个服务器,只需要一个site属性,就能搞定多站点服务。
Django最主要的中间件之一,提供用户认证服务。
提供CSRF防御机制的中间件 X-Frame-Options
点击劫持防御中间件
有时候,为了实现一些特定的需求,我们可能需要编写自己的中间件。
在编写方式上,需要注意的是,当前Django版本2.2,存在两种编写的方式。
一种是Django当前官网上提供的例子,
一种是老版本的方式。
本质上,两种方式其实是一样的。
python3.X - Web - Django3.2.9
整章节共43节
快分享给你的小伙伴吧 ~