84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
现阶段django开发是用视图函数多呢?还是类通用视图?
看到有人在segmentfault中陈述:视图函数拓展性就没有这么灵活。类通用视图可以继承,可用使用装饰器等好处。
不过我做了一个单表的CURD(增删改查)之后,发现一个问题是。现实开发中有很多复杂的功能是多表操作的,类通用视图处理这些复杂的逻辑时就显得有些疲软了.....
各们Django使用者,有什么好建议,或者是我还没对类通用视图研究不透彻?请大家指点一下....
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
能用 cbv(class based view) 的方式开发就尽量别用 fbv(function based view)。Django 的开发组织也在推荐大家使用 cbv 的方式进行开发。用 cbv 优点非常多,最显而易见的就是提升开发效率的问题,基本一个简单的增删改查不需要写几行代码,只要弄清楚每个 view 是干嘛的拿来继承就好了,有额外的需要自己写个 mixin 扩展即可。个人感觉开发效率之少提升 2 倍以上。那么要说缺点(当然我觉得这个应该是优点,强制让你去阅读 Django 源码),就是需要理解熟悉 Django 自带的所有 view 的功能以及 view 每个方法都在干什么。只有理解了 view 的功能才能在一些复杂的操作中进行合适的继承编写合适的 mixin 。当你能熟练用 cbv 开发的时候相信你对 Django view 这块的源码也会熟悉很多。
没明白你想问什么,不管单表还是多表,都是 Model 层面的,而视图函数和视图类都是 View 层面的,它们之间会有什么掣肘吗?没有吧
大项目尽量用类通用视图
类视图的话可以共享一些数据,而使用普通的视图函数这方面就要写多一些代码。实际上,无论是哪种视图,多表的关联操作都是可以做到的,不过对于类视图一般用于RESTful的接口时用的比较多。
能用 cbv(class based view) 的方式开发就尽量别用 fbv(function based view)。Django 的开发组织也在推荐大家使用 cbv 的方式进行开发。用 cbv 优点非常多,最显而易见的就是提升开发效率的问题,基本一个简单的增删改查不需要写几行代码,只要弄清楚每个 view 是干嘛的拿来继承就好了,有额外的需要自己写个 mixin 扩展即可。个人感觉开发效率之少提升 2 倍以上。那么要说缺点(当然我觉得这个应该是优点,强制让你去阅读 Django 源码),就是需要理解熟悉 Django 自带的所有 view 的功能以及 view 每个方法都在干什么。只有理解了 view 的功能才能在一些复杂的操作中进行合适的继承编写合适的 mixin 。当你能熟练用 cbv 开发的时候相信你对 Django view 这块的源码也会熟悉很多。
没明白你想问什么,不管单表还是多表,都是 Model 层面的,而视图函数和视图类都是 View 层面的,它们之间会有什么掣肘吗?没有吧
大项目尽量用类通用视图
类视图的话可以共享一些数据,而使用普通的视图函数这方面就要写多一些代码。实际上,无论是哪种视图,多表的关联操作都是可以做到的,不过对于类视图一般用于RESTful的接口时用的比较多。