我想知道在使用像 Django 这样的 MVC 框架时,复杂的模板逻辑应该驻留在哪里。
例如,我想显示一些模型的列表,其中他们的孩子的孩子的儿童模型按其类别分组。
将某些模型的儿童儿童模型分组为儿童模型仅用于显示目的。
嵌入此逻辑太复杂,无法在模板中实现。
但是,我认为模型不应该关心它的显示方式,控制器不适合可重用逻辑的地方。
如果我可以在模板和控制器之间创建中间件,那似乎是正确的选择,但我不能这样做。
模板的复杂逻辑应该驻留在什么地方?
通常当我的TemplateView
有一些复杂的数据要显示时,我会计算它并通过覆盖get_context_data
将其传递给模板
class MyView(TemplateView):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['childrens_children...'] = ...
return context