static
直接交由http服务器管理
不需要路由
可以直接访问
资源
html
css
js
img
font
templates
模板需要渲染才能进行响应
需要进行一个完整的请求流程处理
html+模板
模板语法
**编程模型**
面向过程
pop
函数和模块
面向对象
oop
对象
面向切面
在不修改源代码的情况下,动态的去控制源程序的执行过程
AOP
切点
切面
网络状态
2xx
都代表成功系列
3xx
重定向系列
4xx
客户端错误
5xx
服务器错误
程序员最丢人bug
自定义中间件
创建一个目录存放中间件
命名:见名知意
命名规范:
驼峰
串
创建一个python文件存放中间件:
在python文件中定义中间件打的类
继承自:MiddlewareMixin
```python
import random
from django.http import HttpResponse
from django.shortcuts import redirect
from django.utils.deprecation import MiddlewareMixin
class HelloMiddle(MiddlewareMixin):
def process_request(self,request):
print('request')
if request.path == "/guess/":
if request.META.get("REMOTE_ADDR") == "127.0.0.1":
if random.randrange(100)>10:
return HttpResponse('恭喜您喜提神舟战神GX10')
if request.META.get("REMOTE_ADDR") == "10.0.113.223":
return HttpResponse('谢谢惠顾,下次再来吧')
def process_exception(self,request,exception):
return redirect("/index/")
将中间件注册到settings中的MIDDLEWARES
定义中间件的具体业务逻辑
选切点
### 装饰器
- 函数
- 类
- call
### UUID
- 唯一
- python内置了相应的模块
### ImageField
- 上传的时候 upload_to
- 直接写串
- 还支持时间格式化
- 文件夹是有限制的
- Linux中一个文件夹的直接子文件数量如果达到65535的时候,这个文件夹就打不开了
### 推荐资料
- <https://python3-cookbook.readthedocs.io/zh_CN/latest/>
- 推荐章节
- 一
- 七
- 八
- 九
### homework
- 在原有的登陆注册,账号管理系统上,添加新字段 头像
- 头像可以修改