替代Django的ClassBasedView。
django-yacbv的Python项目详细描述
django又一个基于类的视图
Django Yacbv(YetanotherClassBasedView)是Django的CBV的替代品 (django.views.generic.view)。
- django的视图只能分派对应于request.method的内容。 但是在很多情况下,它应该考虑更多的事情,比如请求参数。 Django的代码是不灵活的,很难记住它的API。 很难理解继承。
- django的视图不能删除decorators,这是测试所必需的。 它迫使我们用decorators测试视图,总是会妨碍 纯单元测试。
作为这些解决方案,django yacbv发布了。
yacbv很简单
django yACBV提供了简单的基于类的视图,允许用户创建更灵活的 发送,如下:
fromyacbvimportView,view_configclassTopView(View):@view_config(method='get',param='flip',template_name='top2.html')defflipped(self,request):return{'word':request.GET['flip']}@view_config(method='get',template_name='top.html')defget(self,request):return{'word':'world'}
请注意:
- 只有当请求对象包含flip参数时,才会调度flip方法。
- 每个视图的模板可以指定为视图配置的模板名参数。
- 这些返回的字典将用作模板的上下文。
现在,django yacbv只是pre-alpha库,不用于生产。 如果您喜欢这个包,请从Github查看!