如果 app/views.py 文件变得非常大,我应该把它分开吗?如果是这样,最好的方法是什么?
Matt
问问题
4468 次
4 回答
25
一些开发人员将他们的视图制作为python 包而不是模块。这只是意味着在您的应用程序中创建一个目录views
,然后将每个视图放在该包中自己的模块(文件)中。
然后你创建一个__init__.py
文件(这就是使它成为一个包的原因)。该文件可以是空的,也可以将所有视图模块导入到它自己的命名空间中。
如果它是空的,你必须直接导入你需要的每个视图,否则你可以导入它,就像它是一个 views.py 模块一样。
于 2009-03-30T08:34:33.543 回答
12
没有通用的最佳方法。但是有适合您情况的正确方法。
- 将视图放在它们自己的文件中并将它们导入到您的视图中。这很好,只是看看它是如何工作的
- 在项目中创建一个单独的应用程序来维护一组视图
- 创建您自己的通用视图,共享大多数应用程序的通用视图
就像一个开始的例子: 我建议你从模型开始,自己动手:
- 你有多少型号?
- 它们实际上都相关还是可以分组?
- 如果可以分组将应用程序分成两个应用程序
- 所以你也会拆分视图
- 确定哪些视图函数是相似的并使它们通用。
于 2009-03-30T09:27:24.633 回答
2
我会将具有相似目的或功能的视图分离到一个文件中,并将其包含在 views.py 中。我这样做只是为了可读性和维护。例如,特定对象或对象组的 CRUD 视图。
通过将这些视图直接导入到主views.py 文件中,它允许不熟悉您的约定的人找到什么在哪里。
views/object_view.py
于 2009-03-30T08:20:32.143 回答
1
在一个理想的世界里,你不应该这样做。相反,请尝试将您的代码重构为不同的 django 应用程序,以满足您项目所需的每个子目的。这样,您可以比仅拆分 views.py 文件更好地对项目进行分区。
有关如何将项目拆分为不同应用程序的提示,我建议阅读 James Bennett 的Practical Django Projects,这是我现在正在重新阅读的内容 :)
于 2009-03-30T08:41:04.230 回答