2017-08-10 208 views
1

我現在開始編寫我的第一個Django項目,我需要爲我的應用程序製作forms.py文件。我見過一些教程將文件存儲在項目的主文件夾下,另一些存放在應用程序目錄中。forms.py文件應該放在哪裏?

  1. 哪些佈局是最適合我,如果我想打只適用於一個應用形式?

  2. 是否適合使多個文件保留我的表單代碼?

謝謝!

+1

我會把它放在與應用程序本身相同的文件夾中。如果您有多個應用程序使用不同的表單文件,我只會將它們保存在各自的應用程序文件夾中。 – GreenSaber

+0

好的,謝謝。所以我把它放在哪裏並不重要? – Mathyou

+0

我會將每個應用程序的表單文件保存在該應用程序的相同文件夾中。所以'app_a'的表單文件將位於'app_a'目錄中。 – GreenSaber

回答

3

下面是標準配置:

├── 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」的應用中。這是一個非常流行的慣例。

這樣,您就可以導入formsviews沒有麻煩:

from .forms import FormA, FormB 
# or 
from . import forms 
# or 
from .forms import * 
# and from common: 
from ..common import forms as common_forms 

關於你提到的第二個問題:絕對 - 如果分離(例如干淨的項目佈局,可維護性,更詳細的文件名)的好處是值得的麻煩(例如導入多個文件而不是一個文件)。沒有硬性的規則,所以你必須計算折衷和決定。

+0

感謝所有這些! – Mathyou

相關問題