有人可以解释以下含义:
“业务逻辑属于模型, 但视图逻辑属于视图。“
每个例子和一些例子的一般区别是什么。谢谢。
答案 0 :(得分:1)
您可以在其他问题的评论中提出问题;)。
商业逻辑是与“事物”如何运作或运作相关的任何事物。举例来说:
class Animal(Object):
def speak(self, sound):
print sound
class Duck(Animal):
has_feathers = True
执行以下操作是不正确的:
>>> myduck = Duck()
>>> myduck.speak('Quack!')
Quack!
鸭子发出'嘎嘎!'的声音!是业务逻辑,应该在模型中:
class Duck(Animal):
has_feathers = True
makes_sound = 'Quack!'
def speak(self):
super(Duck, self).speak(self.makes_sound)
你不一定需要理解这一切;我们所做的就是确保当Duck
说出'嘎嘎!'时说:
>>> myduck = Duck()
>>> myduck.speak()
Quack!
查看逻辑将与处理请求和返回某种响应相关。使用前面的示例,我们的视图将包含用于实例化Duck
对象并使其发声的代码。
myduck = Duck()
myduck.speak()
“回应”将是'嘎嘎!'。
答案 1 :(得分:0)
改善最后的答案 如果你是Django的新手是一个很好的实践,使你的业务逻辑和视图逻辑分离,我们的业务逻辑应该在你的模型或该级别的任何文件中,并且你只需要调用对象和方法将数据返回给你视图,你不应该处理你的数据(我的意思是数据的机会或任何aditional逻辑),如果你需要改变你的主要方法逻辑,你应该改变你的方法,但如果你想保持然后,您应该创建一个新方法来处理这个新条件