forms.py 文件应该放在哪里?
Where should the forms.py file be located?
我现在开始编写我的第一个 Django 项目,我需要为应用程序创建 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
|
...
简而言之:在应用中保留与应用相关的所有表单。它在概念上是一致的、直观的,并且使代码更易于维护(通过分离)。
多应用程序 forms/components 很少见。您可以将它们保存在名为“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
关于你的第二个问题:绝对 - 如果分离的好处(例如干净的项目布局、可维护性、更冗长的文件名)值得麻烦(例如导入多个文件而不是一个文件)。没有硬性规定,所以你必须权衡取舍并做出决定。
我现在开始编写我的第一个 Django 项目,我需要为应用程序创建 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
|
...
简而言之:在应用中保留与应用相关的所有表单。它在概念上是一致的、直观的,并且使代码更易于维护(通过分离)。
多应用程序 forms/components 很少见。您可以将它们保存在名为“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
关于你的第二个问题:绝对 - 如果分离的好处(例如干净的项目布局、可维护性、更冗长的文件名)值得麻烦(例如导入多个文件而不是一个文件)。没有硬性规定,所以你必须权衡取舍并做出决定。