网络编程
位置:首页>> 网络编程>> Python编程>> Django中间件实现 * 的方法

Django中间件实现 * 的方法

作者:hupppppp  发布时间:2022-10-21 04:47:53 

标签:Django,中间件, ,

1.前言

JavaWeb Struts2的 * 我们都能很熟悉,在请求交给Action处理之前,先在 * 中处理,处理完之后再交给Action。

在Django中如何实现相同的效果?

2.Django中间件

这个是我的项目的目录结构。

Django中间件实现 * 的方法

首先,先在app目录(也就是我项目的web目录)中新建一个文件命名为middleware.py

Django中间件实现 * 的方法

里面加入以下代码:


try:
from django.utils.deprecation import MiddlewareMixin # Django 1.10.x
except ImportError:
MiddlewareMixin = object # Django 1.4.x - Django 1.9.x
class SimpleMiddleware(MiddlewareMixin):
def process_request(self, request):
return None
def process_response(self, request, response):
return response

在process_request中处理请求,process_response处理响应。

在process_request方法中,返回值为HttpResponse类型的对象的时候不交给普通的控制器处理,直接返回给浏览器,返回值为None的时候,请求处理完之后交给普通的控制器处理。

在settings.py文件的中间件配置中我们刚刚的中间件。

Django中间件实现 * 的方法

至此利用中间件做 * 的工作配置完成。

来源:https://blog.csdn.net/huplion/article/details/52723543

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com