内容简介:对于基于函数的视图(FBV)和基于类的视图(CFB)常常给新手带来困惑。有多种办法可以做同样的事,该使用哪个?在最初的时候,Django 只能使用基于函数的视图。它们都是采用标准统一的函数形式:接受一个这种方法的好处是它们没有隐藏的行为,我们可以确切知道它在做什么。可以添加想要的装饰器,很大程度上都是所见即所得的。
起步
对于基于函数的视图(FBV)和基于类的视图(CFB)常常给新手带来困惑。有多种办法可以做同样的事,该使用哪个?
基于函数的视图
在最初的时候,Django 只能使用基于函数的视图。它们都是采用标准统一的函数形式:接受一个 request
对象作为参数并返回一个 repsponse
对象。
from django.shortcuts import render def homepageView(request): return render(request, 'index.html')
这种方法的好处是它们没有隐藏的行为,我们可以确切知道它在做什么。可以添加想要的装饰器,很大程度上都是所见即所得的。
缺点就是随着逻辑的复杂,函数会变得很大,因为它除了处理业务逻辑,还要包含视图的逻辑。
基于类的视图
从 Django 1.3 开始添加了基于类的视图支持,通过继承,分发等让视图代码变得更简洁(但本质上还是FBV)。解决了代码冗长难以阅读的问题。
使用基于类的视图,需要了解其基础的继承结构,因为它所有代码都不像 FBV 那样明显,你会发现有些结构代码更难理解。
通用的基于类的视图
Django 从中更进一步的发展出通用的类的视图(GCBV),它处理常见的用例,例如 显示模板
,以 列表形式
显示内容等。这部分代码在 django.views.generic
中。它们更加简洁且强大,然而它们很难定制,依然要深入内部了解底层的方法和继承结构。Django基于类的通用视图有这些: https://ccbv.co.uk/
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- flask视图函数自定义转换器
- yii2视图(布局)中各种函数总结报告及使用场景
- 从源码角度理解Django中给特定视图函数放开CSRF校验的原理
- iOS小技巧·把子视图控制器的视图添加到父视图控制器
- CouchDB 视图简介及增量更新视图的方法
- c# – 将数据从部分视图传递到其父视图
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
打火机与公主裙·荒草园
Twentine / 青岛出版社 / 2017-3 / 36.00元
“如果人临死前真有走马灯这个环节,她大概会是我这辈子见的最后一人。” 从青涩的校园时代里一抹明亮的金,到厮杀的职场中那化不开的黑,李峋就像荒芜之地的一株野草,受到再大的挫折依然固执地生长。 如果说朱韵从前的生活一直维持着表面的顺风顺水,平静安和,那李峋的出现则打破了这一切。他是她生命中第一次,也是唯一一次的冒险。 在外人眼里李峋嚣张而轻蔑,只有朱韵懂得他心中那片自留地,自愿成为孤......一起来看看 《打火机与公主裙·荒草园》 这本书的介绍吧!