Django_AOP(面向切面)

面向切面(AOP)

一、静态文件配置

在settings.py 中最底下有一个叫做static的文件夹,用来加载一些模板中用到的资源,比如说是来配置js,css, img, 在工程目录下创建static目录

STATIC_URL = '/static/'
STATICFILES_DIRS = [
  os.path.join(BASE_DIR, 'static')
]

在模板中 首先加载静态文件 之后再调用静态文件 这样就不用写绝对路径了

模板中的申明:
{% load static %} 或 {% load staticfiles %}
引用资源的时候使用:
{% static 'xxx' %}  xxx 相当于staticfiles_dirs的一个位置 填static目录下的jquery.js的相对路径

## 二、中间件

中间件:是一个轻量级,底层的插件, 可以介入Django的请求和响应过程(面向切面编程)

中间件的本质就是一个Python类

面向切面编程简称AOP。 AOP的主要实现目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的摸个步骤或阶段,以获得逻辑过程中各部分之间低耦合的隔离效果。

中间件的可切入点:
这里写图片描述

三、切入函数

__init__: 
#没有参数,服务器响应第一个请求的时候自动调用,用户确定是否启用该中间件
process_request(self,request):
#在执行视图前被调用,每个请求上都会调用,不主动进行返回或返回HttpResponse对象
process_view(self,request,view_func,view_args,view_kwargs):
#调用视图之前执行,每个请求都会调用,不主动进行返回或返回HttpResponse对象
process_template_response(self,request,response):
#在视图刚好执行完后进行调用,每个请求都会调用,不主动进行返回或返回HttpResponse对象
process_response(self,request,response):
#所有响应返回浏览器之前调用,每个请求都会调用,不主动进行返回或返回HttpResponse对象
process_exception(self,request,exception):
#当视图抛出异常时调用,不主动进行返回或返回HttpResponse对象

四、自定义中间件

"""
自定义中间件流程
1.在工程目录下创建middleware目录
2.在目录中创建一个Python文件
3.在Python文件中导入中间件的基类
"""
from django.utils.deprecation import MiddlewareMixin
class CheckUser(MiddlewareMixin):
    def process_request(self, request):  # 4.在类中根据功能需求,创建切入需求类,重写切入点方法
        print('request的路径', request.GET.path)
#5.启用中间件,在settings中进行配置,MIDDLEWARE中添加middleware.文件名.类名
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值