昨晚翻译了two scoops django 1.5的第七章,今天就顺手把第八章第一小节:Best Practices for Class-Based Views翻译一下
至django1.3释出以来,Django 已经提供了对基于类视图的支持。早期CBVs的问题几乎都被挑出,这应该感谢如Marc Tamlyn
般人的代码检查,以及Django-braces的出现。
通过一些尝试,CBVs允许开发者以一种使人诧异的方式创建视图。CBVs鼓励视图代码的重复使用,允许创建基础视图以继承
这些视图。它们以为自身的powerful和flexbility被采纳到Django 核心内。
以下是必须阅读的Django 关于CBV文件:
https://docs.djangoproject.com/en/1.5/topics/class-based-views/
• https://docs.djangoproject.com/en/1.5/topics/class-based-views/generic-display/
• https://docs.djangoproject.com/en/1.5/topics/class-based-views/generic-editing/
• https://docs.djangoproject.com/en/1.5/topics/class-based-views/mixins/
• https://docs.djangoproject.com/en/1.5/ref/class-based-views/
• Marc Tamlyn's CBV inspector at ccbv.co.uk
第三方包:CBVs+Django-braces 是一个强力组合
我们意识到django-braces是Django CBVs所缺失的组件。它为Django CBVs 更加简单快捷的实现提供了一套明晰的混合类。
下一节将在多数代码实例中展示它的混合类。
CBVs的强大是以牺牲其简洁性为代价的:CBVs有一可以达到深度为8的继承链。结果,尝试确切的理清哪一个视图被使用
或者哪个方法被重写。
我们在写CBVs是应遵循以下规则:
视图代码越少越好
视图中无重复代码
视图需要处理显示逻辑,尝试在模型或者表单中处理事务逻辑
确保你的视图简洁
确保你的混合类简洁