能否从实际使用经验的角度谈谈 Django function-based views 和 class-based views 两种 View 的优缺点或使用场景?

2017-12-12 11:36:05 +08:00
 Nick2VIPUser
1. function-based views (FBVs)
def sprinkle_list(request):
____request = check_sprinkles(request)
________return render(request, "sprinkles/sprinkle_list.html", {"sprinkles": Sprinkle.objects.all()})

2. class-based views (CBVs)
class SprinkleDetail(DetailView):
____model = Sprinkle
____def dispatch(self, request, *args, **kwargs):
________request = check_sprinkles(request)
________return super(SprinkleDetail, self).dispatch(request, *args, **kwargs)

缩进表示不出来。。。用下划线替代了。。
1556 次点击
所在节点    Python
1 条回复
vicalloy
2017-12-12 13:51:24 +08:00
我用 function-based views 更多一些。
大多情况下 function-based views 数据流更清晰一些。
不过 function-based views 的扩展性比较差,写通用的 views 会有些困难。

就上面的场景来说,我觉得都可以,主要看习惯。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/414043

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX