Django應用程序,設置文件和其他各種關聯目錄的最佳佈局是什麼?
當Django 1.4發佈的時候,它包含了一個更新的項目佈局,這對改進默認的Django項目佈局有很大的幫助,對此本文檔將提供一些改進的方法,可輕鬆應用於1.4版本之後的任何Django版本。
爲什麼這個佈局更好
在這裏推薦的項目佈局有幾個優點,即:
- 允許提取、封裝和重新使用各個Django應用程序以用於其他項目,如果從一開始就以這種方式構建,以後需要,將更容易運用到其它項目中去。
- 特定的環境設置。單一的配置文件中無需出現過多的if DEBUG==True,這可以很容易地看到哪些設置是共享的,哪些是覆蓋的。
- 設置特定的PIP需求
- 項目級模板和靜態文件,如果需要,可以覆蓋默認應用程序默認。
- 更小的更具體的測試文件,更容易閱讀和理解。
參考佈局
假設你有兩個應用程序:博客和用戶,2個環境:兩個工作環境,dev(開發)和prod(生產),那麼你的項目佈局應該具備像下面這樣的結構:
myproject/
manage.py
myproject/
__init__.py
urls.py
wsgi.py
settings/
__init__.py
base.py
dev.py
prod.py
blog/
__init__.py
models.py
managers.py
views.py
urls.py
templates/
blog/
base.html
list.html
detail.html
static/
…
tests/
__init__.py
test_models.py
test_managers.py
test_views.py
users/
__init__.py
models.py
views.py
urls.py
templates/
users/
base.html
list.html
detail.html
static/
…
tests/
__init__.py
test_models.py
test_views.py
static/
css/
…
js/
…
templates/
base.html
index.html
requirements/
base.txt
dev.txt
test.txt
prod.txt