基于类的视图的工作流程

最简单的实现一个视图的方法是采用函数的形式,这个函数以request作为第一个参数,其他的参数从urlconf中得到。然后必须返回一个response。

高级一点的当然是基于类的视图了,基于类的视图的好处官方文档上面噼里啪啦说了一大堆。我在看文档的时候一直想知道基于类的视图的运行过程,但是由于刚开始浏览的时候没注意扫过去了。原来就夹在那噼里啪啦一大堆的最下面。


大致翻译如下:django的url解析器只能解析函数,所以必须把视图类的成员函数传递进去。这个函数就是as_view。我查了一下View的方法和属性。列出如下:
as_view
dispatch
http_method_names
options
as_view是视图类的一个入口,这个函数会创建一个视图类的实例对象,然后调用dispatch方法,这个dispatch方法会根据request的类型去决定调用get方法还是post方法。前提是你自定义了这些方法。或者你是在使用一些已经定义了这种函数的视图类。
那我又有疑问了,我们都知道作为一个视图你必须要返回一个response才行啊。那么哪个函数应该承担起这个责任呢。如果调用我自己写的get,那么我可以自己去return。那如果是django提供的视图类,比如说DetailView,UpdateView呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值