我想在我的项目中实现多个站点的概念,因为我已经研究了django的官方“site framework”教程以及其他教程。
但是我有点混淆我应该从哪里开始,因为正如在doc中给出的那样,有多个站点id被使用。但是我有一个像往常一样。在某些文档中,有一些编辑是在 HTTPD.conf 文件
中完成的所以我从文档中不了解,从哪里开始?
所以请任何机构告诉我实施多站点的步骤。
答案 0 :(得分: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路径中的某个位置,其中site-a和site-b安装可以导入它(通常您创建virtualenv并在那里安装您的博客应用程序)。现在,您为这两个域创建了两个虚拟网站 - site-a.example.com和site-b.example.com,并为每个网站创建一个单独的django项目(这更像是一个站点配置文件而不是常规项目)。现在,您如何知道哪个项目适用于哪个博客?您可以在指向此类博客的站点ID的每个项目设置中定义SITE_ID常量,并列出给定博客的所有文章,并将当前站点添加到过滤条件。