配置settings文件
STATICFILES_DIRS=[
os.path.join(BASE_DIR,‘static‘)
]
在前端页面里加入
{% load static %}
Django2.0 使用的是{% load static from staticfiles %}
Django3 用 {% load static %}就行
这样避免了使用绝对路径时,样式文件夹名改变,需要改很多引入代码的麻烦
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link type="text/css" href="static/app1/css/style.css" rel="stylesheet">
<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
<script src="{% static ‘app1/js/app1.js‘ %}" type="text/javascript" ></script>
</head>
<body>
<h1 class="hello">hello world</h1>
</body>
</html>
概述:
一个轻量级,底层的插件,可以介入Django的请求和响应
本质:一个python类
1:init
不需要传参数,服务器响应第一个请求的时候自动调用,用于确定是否启用该中间件
2:process_request(self,request)
在执行视图之前调用(分配url匹配视图之前),每个请求上都会调用,返回None或者HttpResponse对象
3:process_view(self,request,view_func,view_args,view_kwargs)
调用视图之前,每个请求上都会调用,返回None或者HttpResponse对象
4:process_template_response(self,request,response)
在视图刚好执行完后调用,每个请求上都会调用,返回None或者HttpResponse对象
使用render
5:process_response(self,request,response)
所有响应返回浏览器之前调用,返回HttpResponse对象
6:process_exception(self,request,exception)
当视图抛出异常时调用,返回HttpResponse对象
工程目录下创建middleware创建app目录下创建python文件
例:
from django.utils.deprecation import MiddlewareMixin
from django.http import HttpResponse,request
class myMiddleware(MiddlewareMixin):
def process_request(self,request):
print("get的参数为:",request.GET.get("a"))
配置settings文件,在MIDDLEWARE = [中添加
‘middleware.app1.myMiddleware.myMiddleware‘,
原文:https://www.cnblogs.com/rmxob/p/12633887.html