【发布时间】:2010-10-16 07:53:50
【问题描述】:
如果 app/views.py 文件变得非常大,我应该把它分开吗?如果是这样,最好的方法是什么?
【问题讨论】:
如果 app/views.py 文件变得非常大,我应该把它分开吗?如果是这样,最好的方法是什么?
【问题讨论】:
我会将具有相似目的或功能的视图分离到一个文件中,并将其包含在 views.py 中。我这样做只是为了可读性和维护。例如,特定对象或对象组的 CRUD 视图。
通过将这些视图直接导入到主views.py 文件中,它允许不熟悉您的约定的人找到什么在哪里。
views/object_view.py
【讨论】:
一些开发人员将他们的视图设为 python package 而不是模块。这只是意味着在您的应用程序中创建一个名为 views 的目录,然后将每个视图放在该包中自己的模块(文件)中。
然后你创建一个__init__.py 文件(这就是使它成为一个包的原因)。该文件可以为空,也可以将所有视图模块导入到自己的命名空间中。
如果它是空的,您必须直接导入您需要的每个视图,否则您可以像导入 views.py 模块一样导入它。
【讨论】:
在理想世界中,您不应该这样做。相反,请尝试将您的代码重构为不同的 django 应用程序,以满足您项目所需的每个子目的。这样,您可以对项目进行分区,甚至比仅拆分 views.py 文件时更好。
有关如何将项目拆分为不同应用程序的提示,我建议阅读 James Bennett 的 Practical Django Projects,这是我现在正在重读的内容 :)
【讨论】:
没有通用的最佳方法。但是对于您的情况,有一个正确的方法。
作为一个开始的例子: 我建议你从模型开始,自己动手:
【讨论】: