2017-09-12 31 views
0

幾年前我曾經讀過一些地方(Django 1.4的兩個勺子?),他建議在Django項目中有一個「apps」文件夾,它包含所有的應用程序。Django「apps」文件夾仍然相關?

Repo folder 
-- Project root folder 
    -- apps 
     -- app 1 
     -- app 2 
    -- settings etc 

但剛剛的「Two scoops of Django 1.8」有在優選項目結構中的「應用程序」文件夾中沒有提到一個快速閱讀。

Repo folder 
-- Project root folder 
    -- app 1 
    -- app 2 
    -- settings etc 

我錯過了什麼?爲什麼他們刪除這個文件夾?

+1

請更新您的問題與這些文章的鏈接,以便我們可以查看它們。 – Soviut

+0

他們是從書籍https://www.twoscoopspress.com/products/two-scoops-of-django-1-8 –

+0

我很確定這只是首選,兩勺大多隻是一個風格指南。 – marcusshep

回答

0

像@marcusshep說的只是偏好,無論如何,如果你想保持你的應用程序在這個文件夾內,你可以在BASE_DIR var sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))之後添加這行。有了這個,你不必使用apps.app ...,就像那個文件夾不存在

+1

這對於如何省略導入路徑 –

0

我個人已經在這一個來回。

django的新默認佈局有點令人困惑 - 有兩個文件夾 - 一個用於核心軟件,另一個用於您的應用程序。

我有問題用的東西是通過增加您的應用程序到PYTHONPATH的頂層,另一個包從說喜歡某個地方的PyPI將干擾到自己安裝。僅僅因爲這個原因,我建議'appspacing'你的應用程序在apps文件夾中。我把'namespacing'放在引號中,因爲'myspecialproject'和'myspecialproject.apps.payments'之類的東西比在頂層有'付款'好得多,這可能會被其他軟件包破壞。

所以是的,我建議您的項目中的應用程序文件夾。

+0

的應用程序很好的信息,我認爲你提出了有關第三方軟件包乾擾包名 –

+1

另一件事是有一個應用程序文件夾,我可以只需要定義一個記錄器指向「應用好點「而不是爲每個應用程序定義記錄器。 –

相關問題