我现在开始编写我的第一个Django项目,我需要为我的应用程序制作forms.py
文件。我见过一些教程将文件存储在项目的主文件夹下,另一些存放在应用程序目录中。forms.py文件应该放在哪里?
哪些布局是最适合我,如果我想打只适用于一个应用形式?
是否适合使多个文件保留我的表单代码?
谢谢!
我现在开始编写我的第一个Django项目,我需要为我的应用程序制作forms.py
文件。我见过一些教程将文件存储在项目的主文件夹下,另一些存放在应用程序目录中。forms.py文件应该放在哪里?
哪些布局是最适合我,如果我想打只适用于一个应用形式?
是否适合使多个文件保留我的表单代码?
谢谢!
下面是标准配置:
├── apps/
| ├── [app]/
| | ├── __init__.py
| | ├── urls.py
| | ├── models.py
| | ├── forms.py # Forms
| | ├── admin.py
| | ├── views.py
| | ├── migrations/
| | ├── management/
| | ├── templates/ # Here or in the project root
| | └── (other)
| |
| └── __init__.py
|
...
简而言之:守在应用相关的应用各种形式。它在概念上一致,直观,使代码更易于维护(通过分离)。
多应用程序表单/组件很少见。您可以将它们保存在名为“common”的应用中。这是一个非常流行的惯例。
这样,您就可以导入forms
为views
没有麻烦:
from .forms import FormA, FormB
# or
from . import forms
# or
from .forms import *
# and from common:
from ..common import forms as common_forms
关于你提到的第二个问题:绝对 - 如果分离(例如干净的项目布局,可维护性,更详细的文件名)的好处是值得的麻烦(例如导入多个文件而不是一个文件)。没有硬性的规则,所以你必须计算折衷和决定。
感谢所有这些! – Mathyou
我会把它放在与应用程序本身相同的文件夹中。如果您有多个应用程序使用不同的表单文件,我只会将它们保存在各自的应用程序文件夹中。 – GreenSaber
好的,谢谢。所以我把它放在哪里并不重要? – Mathyou
我会将每个应用程序的表单文件保存在该应用程序的相同文件夹中。所以'app_a'的表单文件将位于'app_a'目录中。 – GreenSaber