首先,在你的 Django 应用中创建一个新的文件,例如 middleware.py:
# myapp/middleware.py
class CustomMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
# 在处理请求之前的逻辑
print("Before the view is called.")
response = self.get_response(request)
# 在处理响应之后的逻辑
print("After the view is called.")
return response
上述代码定义了一个名为 CustomMiddleware 的中间件类。该类包含一个构造函数 __init__ 和一个 __call__ 方法。__init__ 方法在中间件实例化时被调用,接受一个 get_response 参数,它是 Django 框架传递给中间件的一个函数,用于获取视图函数的响应。__call__ 方法定义了中间件的实际逻辑,包括在处理请求之前和处理响应之后执行的代码。
接下来,将这个中间件添加到你的 Django 项目的中间件设置中。打开项目的 settings.py 文件,找到 MIDDLEWARE 配置项,将你的中间件添加到其中:
# settings.py
MIDDLEWARE = [
# 其他中间件...
'myapp.middleware.CustomMiddleware',
# 其他中间件...
]
确保你的中间件的导入路径正确。现在,每当请求经过中间件时,你在控制台上应该能够看到 "Before the view is called." 和 "After the view is called." 的输出。
这只是一个简单的例子,你可以根据需要编写更复杂的中间件,执行各种自定义逻辑。确保查阅 Django 4.0 的官方文档,以获取有关中间件的更多信息和进阶用法。
转载请注明出处:http://www.pingtaimeng.com/article/detail/7221/Django