028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

Django中间件-创新互联

django的中间件可以在视图函数执行前执行,比如登陆验证、日志记录等,下面简单说明一下中间件的基础用法,主要为笔者学习时的笔记

在滕州等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、成都网站制作、外贸网站建设 网站设计制作定制制作,公司网站建设,企业网站建设,成都品牌网站建设,网络营销推广,成都外贸网站制作,滕州网站建设费用合理。
1. 在django项目文件夹下创建一个用于存放中间件函数的文件夹

文件夹的名字可自定义,本文使用utils作为文件夹名

2. 在utils文件夹中创建中间件py文件

如用于登陆验证的中间件loginCheck.py

from django.http import HttpResponseRedirect
from django.utils.deprecation import MiddlewareMixin

class UserLoginCheck(MiddlewareMixin):
    '''
    登录验证中间件
    '''
    def process_request(self, request):
        # 用户request请求前
        path = ['/login/', '/logout/'] # 不需要进行登录检测的url
        if request.path in path:
            return

        userinfoSession = request.session.get('userinfo')
        if not userinfoSession:
            return HttpResponseRedirect('/login/')
        return
3. 配置使用中间件

setting.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',
    'utils.loginCheck.UserLoginCheck', # 此处为自定义的中间件
]
扩展

中间件可定义的五种方法
Request预处理函数: process_request(self, request)

View预处理函数: process_view(self, request, callback, callback_args,callback_kwargs)

Template模版渲染函数:process_template_response()

Exception后处理函数:process_exception(self, request, exception)

Response后处理函数:process_response(self, request, response)

参考资料:https://baijiahao.baidu.com/s?id=1622776730103957680

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站题目:Django中间件-创新互联
浏览地址:http://www.tsicrk.com/article/dhdghp.html

其他资讯

让你的专属顾问为你服务

2.9130s