• 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/

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

          

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

         完成了。

         

  • 相关阅读:
    华为网络层协议介绍
    华为交换机基本原理
    对网络布线与数制转换粗浅认识
    对 计算机网络参考模型新认识
    我对5G的初步认识
    三层交换机单臂路由
    同网段中不同vlan间,客户机从服务器中下载数据
    Telnet远程配置
    华为模拟器里使用RIP协议跨越主类网络边界的实验现象
    7.10 IP地址的格式 以及 网段地址等
  • 原文地址:https://www.cnblogs.com/Jomini/p/8583253.html
Copyright © 2020-2023  润新知