zoukankan      html  css  js  c++  java
  • django(二)中间件与面向切面编程

     一、中间件概念    

          django 自带函数可以在几个环节调节收到请求、处理请求、处理异常、以及发送请求。

          看这里给的链接好了,这是一个大佬的讲django中间件的博客,非常清楚:https://www.cnblogs.com/zhaof/p/6281541.html

          接下,我讲讲我使用的代码:

    二、中间件示例

           

        1、先在应用下的目录(如上图),创建中间件文件“MyException.py”, 输入以下内容

    from django.http import HttpResponse
    
    #a middleware
    class MyException(object):
        def __init__(self, get_response):
            self.get_response = get_response
    
        def __call__(self, request):
            return self.get_response(request)
    
        def process_exception(request, response, exception):
            return HttpResponse("This is an exception!")

         2、在主应用文件的Setting.py 的 "MIDDLEWARE " 中加入上面的文件名(得包括文件路径):booktest.MyException.MyException

                 

       

        3、在应用的 view 文件中加入,这是一个会抛出异常的逻辑:

    #create the middleware
    def myExp(request):
        a1 = int('abc')
        return HttpResponse('hello')

        4、在应用的 url 文件中加入:

      url(r'^myexp/$', views.myExp)

    三、运行应用,然后在浏览器访问该地址:http://127.0.0.1:8000/booktest/myexp/

           由于抛出异常,会得到如图

          

         这就是上面中间件文件定义的时候,抛出的异常的信息。

         完成了。

         

  • 相关阅读:
    windows 安装 anaconda
    全局路径规划--A*算法详解
    编码的种类
    request的encode和decode
    BGP的13条选路原则
    BGP路由黑洞 路由反射器 和联盟2021-07-28
    JMS-ActiveMQ-SpringBoot
    JMS-ActiveMQ-Spring
    JMS-中间件MQ-activeMQ入门
    spring-ssm整合
  • 原文地址:https://www.cnblogs.com/Jomini/p/8583253.html
Copyright © 2011-2022 走看看