类视图的使用,以及简单原理分析:django开发之天天生鲜项目知识总结【2】

使用类试图:主要是可以根据不同的·请求方式(比如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方法,去调用类视图中的相应方法。

  • 所以,很重要的一点,我们类视图中要定义的函数名称,就必须是响应请求类型的小写名字,这样才能够完成对应的调用,不需要用到哪个请求方法时,可以不定义

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值