说明

  1. View类解释(as_view,view,dispatch)
  2. getatter反射函数使用及解释

一、View类解释(as_view,view,dispatch)

  1. View流程结构
from django.views import View
class 类名(View):
	def method(request):
		return template
  1. as_view—>view函数
    路由中引入的是函数,path(str_path,自定义类名.as_view())
    其中as_view()返回的是view函数
def view(cls,request,*args,**kwargs):
	self = cls(*args,**kwargs)
	#cls是谁调用就是谁
	return self.dispatch(request,*args,**kwargs)
  1. 分发(dispatch)
def dispatch(self,request,*args,**kwargs):
	if(request.method.lower() in self.http_method_names):
		hander = getattr(self,request,request.method.lower(),self.http_method_not_allowed)
	else:
		hander = self.http_method_not_allowed #错误页面
	return hander(request,*args,**kwargs)

二、getatter反射函数使用及解释

  1. getatter功能
  2. 使用方法
var = getattr(对象,属性字符串 | 函数字符串,找不到时调用它)
#等价于:对象.属性 | 函数

三、super()父类函数

  1. 功能:是调用父类
  2. 方法
super().父类属性

四、类的初始化(js、python)

作用是为类传值

  1. python
def __init__(self,var,....):
	self.var = var
	...
  1. js
constructor(var,...){
	thsi.var = var
}
04-04 12:55