2012-10-29 27 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,并列出给定博客的所有文章,将您当前网站添加到过滤条件。