Django中as_view的原理文字描述和装饰器

1. 重写get或者post方法
2. 绑定路由,类视图的as_view

url匹配成功之后

1. django调用as_view内部的view

2. view 调用dispatch

3. dispatch 根据你的请求方式
如果是GET,分发到get方法
如果是POST,分发到post方法

 

装饰器对于函数/类,进行装饰之后的结果:

1. 先执行装饰器的wrapper

2. 再执行函数/类

在使用多个扩展类时,遵循的原则:

1. 每一个扩展类的as_view都需要执行

如果不执行,那么as_view中的装饰行为就无法执行

2. 最终执行的generic.View.as_view()

因为View.as_view()才能返回调用get/post方法的内部函数view
view --- dispatch --- get/post

posted @ 2019-11-12 18:55  阿磊小哥哥呀  阅读(219)  评论(0)    收藏  举报