forms.py文件应该放在哪里?

时间:2017-08-10 16:03:40

标签: python django forms project-structure project-structuring

我现在开始编写我的第一个Django项目,我需要为应用程序创建forms.py文件。我已经看到一些教程将文件存储在项目的主文件夹下,一些存储在app目录中。

  1. 如果我想制作仅适用于一个应用的表单,哪种布局最适合我?

  2. 是否适合制作多个文件以保存表单代码?

  3. 谢谢!

1 个答案:

答案 0 :(得分:4)

这是标准布局:

├── 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

关于你的第二个问题:绝对 - 如果分离的好处(如干净的项目布局,可维护性,更详细的文件名)值得麻烦(例如导入多个文件而不是一个)。没有硬规则,所以你必须计算权衡并做出决定。