首先,我们要理解一下什么是django中间件,也就是middleware,django中间件是在请求和响应之间的一个 拦截器。如果,你有Java编程经验,例如:spring框架中的Aspect编程,和它是一个道理,只不过叫法不一样。当我们创建好一个django项目时,你会看到settings.py
配置文件中会有这样一段配置:
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',
]
有几个中间件就来自这里,例如:安全中间件SecurityMiddleware
、CommonMiddleware
、CsrfViewMiddleware
等。
下面我们来看看这个模块下面的具体内容:
- init.py : 模块初始化文件。
- cache.py :缓存中间件,如果你想启用缓存功能,在settings.py配置文件中做如下配置:
MIDDLEWARE = [
'django.middleware.cache.UpdateCacheMiddleware',
...
'django.middleware.cache.FetchFromCacheMiddleware'
]
- clickjacking.py : 这个中间件是防止你的django站点被其他网站使用iframe嵌入到它们的网站。
- common.py :这个是django的基本功能中间件,例如:禁止访问用户代理。
- csrf.py :django防止跨站请求中间件。
- gzip.py :django实现页面内容压缩中间件。
- http.py :django处理http请求中间件。
- locale.py :django实现国际化中间件。
- security.py :django实现安全功能中间件。
更多Django教程
学习更多Django教程