Python3之Django Web框架中间件
程序员文章站
2022-07-03 23:23:36
...
中间件的使用:
主要用来处理页面的登录校验、跨站请求伪造防御、日志记录、session设置,权限管理等
具体代码:
class MiddlewareMixin(object):
def __init__(self, get_response=None):
self.get_response = get_response
super(MiddlewareMixin, self).__init__()
def __call__(self, request):
response = None
if hasattr(self, 'process_request'):
response = self.process_request(request)
if not response:
response = self.get_response(request)
if hasattr(self, 'process_response'):
response = self.process_response(request, response)
return response
class DealLoginMiddleware(MiddlewareMixin):
def process_request(self, request):
if request.path_info == '/crm/login/':
return None
if not request.session.get('user_info'):
return redirect('/crm/login/')
def process_response(self, request, response):
return response
还要在settings中注册一下:
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',
#注册下自定义中间件
'middleware.controller.DealLoginMiddleware'
]
上一篇: debian8 切换默认运行级别
下一篇: 开发中的一些常用工具
推荐阅读
-
Django框架中间件(Middleware)用法实例分析
-
Python Django框架单元测试之文件上传测试示例
-
Django web框架使用url path name详解
-
Django框架深入了解_04(DRF之url控制、解析器、响应器、版本控制、分页)
-
JAVA WEB快速入门之从编写一个基于SpringMVC框架的网站了解Maven、SpringMVC、SpringJDBC
-
Python实现手写一个类似django的web框架示例
-
python 之 Django框架(路由系统、include、命名URL和URL反向解析、命名空间模式)
-
Flask框架web开发之零基础入门
-
python3之Django表单(一)
-
python的web框架---Django项目