2012-10-29 48 views
1

我想實現多個站點的概念到我的項目,爲此我研究了django和其他教程的官方site framework教程。關於多站點的一般想法

但我一點從那裏我應該開始迷惑,因爲在給定的文檔有多個網站ID是used.But我有一個像往常一樣。並在一些文檔中有一些編輯完成HTTPD.conf文件

所以我不明白從文檔,我應該從哪裏開始?

所以,請任何機構告訴我實施多站點的步驟。

回答

1

這是非常簡單的原則。您有定義網站的網站模型,然後在模型中引用此模型。假設我們創建了一個博客程序,你可以有:

網站模式:

ID | domain    | name 
1 | site-a.example.com | John's blog 
2 | site-b.example.com | David's blog 

BlogArticle:

ID | site_id | title       | ... 
1 | 1  | Some title for John's article | ... 
2 | 1  | Another post by John   | ... 
3 | 2  | David's blog post    | ... 

如何將這一部署在Web服務器上?您的博客應用程序代碼對於每個博客都是相同的,因此您可以將它放置在Python路徑中的某處,站點a和站點b安裝可以將其導入(通常您創建virtualenv並在其中安裝您的博客應用程序)。現在您爲兩個域創建兩個虛擬網站 - site-a.example.com和site-b.example.com,併爲每個網站創建一個單獨的django項目(這更像是一個站點配置文件而不是常規項目)。現在,你怎麼知道哪個項目是哪個博客?您可以在每個項目設置中指定SITE_ID常量,指向此類博客的站點ID,並列出給定博客的所有文章,將您當前網站添加到過濾條件。