• 技术文章 >后端开发 >Python教程

    Django中间件实现拦截器的方法

    不言不言2018-06-02 14:28:21原创1840
    这篇文章主要介绍了关于Django中间件实现拦截器的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

    1.前言

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

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

    2.Django中间件

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

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

    里面加入以下代码:

    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的中间件直接返回请求的方法

    以上就是Django中间件实现拦截器的方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Django 中间件 方法
    上一篇:python 编写简单网页服务器 下一篇:Python使用add_subplot与subplot画子图操作
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 一起聊聊python程序设计思想• 深入了解Python装饰器函数• Python图像处理之PIL库• python数据可视化之饼状图的绘制• Python实例详解pdfplumber读取PDF写入Excel
    1/1

    PHP中文网