gpt4 book ai didi

python - Django 中的业务逻辑

转载 作者:太空狗 更新时间:2023-10-29 22:04:52 25 4
gpt4 key购买 nike

我想知道将不属于 View 的代码放在哪里,我的意思是,逻辑。

我已经阅读了一些类似的帖子,但无法得出结论。

我能理解的是:

  • View 就像一个 Controller ,很多逻辑不应该放在 Controller 中。
  • 模型也不应该有太多逻辑。

那么所有基于逻辑的东西应该在哪里?

我来自 Groovy/Grails,例如,如果我们需要访问数据库或者如果我们有复杂的逻辑,我们会使用服务,然后将这些服务注入(inject) Controller 。

在 Django 中让 .py 文件包含除 View 和模型以外的内容是一种好习惯吗?

PS:我读到有人使用 services.py,但后来其他人说这是一种不好的做法,所以我有点困惑......

最佳答案

我不知道你为什么这么说

we can't put a lot of logic in the controller, and we cannot have the models with a lot of logic either

您当然可以将逻辑放在其中任何一个地方。这在很大程度上取决于该逻辑是什么:如果它专门与单个模型类相关,则它应该放在模型中。但是,如果它与特定页面更相关,则可以进入 View 。

或者,如果它是在多个 View 中使用的更通用的逻辑,您可以将它放在一个单独的实用程序模块中。或者,您可以将基于类的 View 与定义逻辑的父类(super class)以及从它继承的子类一起使用。

关于python - Django 中的业务逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21378653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com