面向切面(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):
process_view(self,request,view_func,view_args,view_kwargs):
process_template_response(self,request,response):
process_response(self,request,response):
process_exception(self,request,exception):
四、自定义中间件
"""
自定义中间件流程
1.在工程目录下创建middleware目录
2.在目录中创建一个Python文件
3.在Python文件中导入中间件的基类
"""
from django.utils.deprecation import MiddlewareMixin
class CheckUser(MiddlewareMixin):
def process_request(self, request):
print('request的路径', request.GET.path)
|