使用类试图:主要是可以根据不同的·请求方式(比如post或者get请求)做出相应的处理·(具体内容可以参考django文档,这里只是简单的介绍)
- 首先导入 View类
from django.views.generic import View
- 接下来创建的视图类,继承自 View
class RegisterView(View):
"""注册类"""
def get(self, request):...
def post(self, request):...
- 然后配置urls.py 文件
from user.views import RegisterView, ActiveView, LoginView
from django.conf.urls import url
urlpatterns = [
# 注册 # 起个name使用反向解析
url(r'^register$', RegisterView.as_view(), name='register'), # 注册
]
# 这里,通过从父类里卖弄继承过来的as_view方法,他会自动的帮我们判断请求的类型,然后调用相应的类里面视图
下面查看源码as_view()方法,简单的分析一下~~,原理,为什么可以调用起来
-
然后又给我们返回了一个方法 ,dispatchch() ,翻译过来的意思就是分发。
最主要的就是注意里面的 getatter方法,作用就是,获取对象的一个属性! 这里很明显就是获取对象的请求类型,然后再转化为小写—接着就是 return handler方法,去调用类视图中的相应方法。 -
所以,很重要的一点,我们类视图中要定义的函数名称,就必须是响应请求类型的小写名字,这样才能够完成对应的调用,不需要用到哪个请求方法时,可以不定义