2013-10-31 29 views
1

假設您正在構建Google網站。 (OK大夢)如何在django中構建項目目錄?

谷歌已經網絡搜索/ YouTube的/郵件/新聞/等

對於這個網站,我想我的結構Django的目錄一樣

Google/ 
     search 
     youtube 
     email 
     news 

等上。

我該如何構建這樣的網站?
爲每個應用程序創建一個應用程序,即使我不期望將任何類別發佈爲應用程序?

哪裏會有常見的東西(比如用戶模型,實用程序模塊,裝飾器..),請創建一個common_app

回答

1

應用程序是一個django項目的可重用組件,它圍繞着一箇中心目標。應用程序不需要直接映射到您網站的網址結構。雖然有一個django應用程序的標準結構來配合一些管理命令,如tests.py,models.py,在/static/的靜態文件,你不需要有任何它是一個應用程序。例如,South是一個流行的django應用程序,用於提供數據庫遷移。它向manage.py添加了一些管理命令。

當您添加功能並且它不直接映射到應用程序的目的時,只需創建一個新的功能。因此,不要想到它是一個common_app,想想應用程序的目的是什麼以及它可能如何被其他應用程序使用。

在我的項目中,我傾向於創建base應用程序來處理基本模板中使用的基本模板和靜態資產。我將創建一個accounts應用程序來處理用戶模型並執行密碼重置等操作。要處理來自我網站任何部分的全局通知,我將創建一個alerts應用程序。這個列表可以繼承很多常用的功能,但它是按照一種圍繞一個函數的方式進行分組的,並且將其編寫爲分佈式的。

因此,在特定情況下,你可能會擁有至少每個域的應用程序,如searchyoutubeemail,並且news,也爲每個公共組件的應用程序,你可能要在整個使用你的核心領域。

+0

搜索,youtube,電子郵件+論壇,編輯器,註冊,基地,而不是搜索,youtube,電子郵件+常見......有道理。謝謝! – eugene