我刚刚开始使用Django,现在面临一个概念问题:如何正确使用MVT?更具体地说,如何从单个函数管理多个类
通常,使用MVC我会这样做:
models.py:
class House:
def __init__(kitchen, living_room):
self.kitchen = kitchen
self.living_room = living_room
class Kitchen:
def __init__(size):
self.size = size
class LivingRoom:
def __init__(remark)
self.remark = remark
一些控制器会这样做:
def build_house(kitchensize: str="big", tidyness: str="tidy"):
my_kitchen = Kitchen(kitchensize)
my_living_room = LivingRoom(tidyness)
my_house = House(big_kitchen, tidy_living_room)
return my_house
我不知道该把build_house
放在哪里;它与视图无关,因为我需要在使用它的每个视图中重写它。它在models
中也没有任何作用,因为通常模型不应该实例化其他模型,对吗
因此,我所做的是创建一个controllers.py
文件,其中包含所有控制器逻辑(在本例中为build_house
函数),即管理模型、解析文件。。。和utils
文件夹,其中包含未保存在数据库中的所有类
这有助于我保持我的models
和views
尽可能整洁和可重用。它还节省了时间,即:如果我需要不同视图中的build_house
函数,我将从controllers.py
调用build_house
函数,而不是重写它
我使用Django的方式是否错误?如果是的话,有人能用正确的方式修改我的示例吗
目前没有回答
相关问题 更多 >
编程相关推荐