您的位置:首页 > 文旅 > 美景 > 邯郸网站_中美最新消息_写软文能赚钱吗_开网店如何运营和推广

邯郸网站_中美最新消息_写软文能赚钱吗_开网店如何运营和推广

2024/12/23 9:42:26 来源:https://blog.csdn.net/weixin_65791897/article/details/143242708  浏览:    关键词:邯郸网站_中美最新消息_写软文能赚钱吗_开网店如何运营和推广
邯郸网站_中美最新消息_写软文能赚钱吗_开网店如何运营和推广

自定义中间件

官网:中间件 | Django 文档 | Django

中间件使用多就在主应用创建,仅限于子应用就在子引用中创建中间件文件.py

之后在settings.py文件中去配置中间件,运行的时候会自动调用中间件

def simple_middleware(get_response):def middleware(request):# 业务处理前response = get_response(request)# 业务处理后return responsereturn middlewareclass SimpleMiddleware:def __init__(self, get_response):self.get_response = get_response# One-time configuration and initialization.def __call__(self, request):# 业务处理前response = get_response(request)# 业务处理后return response


process_view函数

process_view() 只在 Django 调用视图前被调用,它应该返回 None 或 HttpResponse 对象。

  • 返回 None ,Django 将继续处理这个请求,执行任何其他的 process_view() ,然后执行相应的视图
  • 如果它返回 HttpResponse 对象,Django 不会去影响调用相应的视图;它会将响应中间件应用到 HttpResponse 并返回结果。

process_view(request, view_func, view_args, view_kwargs)

  • request 是一个 HttpRequest对象

  • view_func 是一个 Django 将要使用的 Python 函数。(这是一个真实的函数对象,不是函数的名称)

  • view_args 是一个用来传递给视图的位置参数列表

  • view_kwargs 是一个用来传递给视图的关键字参数字典

    提示

    view_args 和 view_kwargs 都不包含第一个视图参数 ( request )


    中间件的应用场景

  • 网站维护更新,不让用户访问可以使用中间件

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',# 自定义中间件'middle_app.middleware.UpwebMiddle',  # 网站维护使用
]
from django.http import HttpResponse
from django.conf import settingsclass UpwebMiddle():def __init__(self, get_response):self.get_response = get_responsedef __call__(self, request):if request.path.startswith(settings.WH_URL):return HttpResponse("维护中无法访问")response = self.get_response(request)return response

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com