复杂的模板逻辑应该驻留在 MVC 框架中的什么位置?



我想知道在使用像 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

最新更新