我想在我的项目中实现多个站点的概念,为此我研究了 django 的官方“站点框架”教程和其他教程。
但我有点困惑我应该从哪里开始,因为如文档中给出的那样,使用了多个站点 ID。但我像往常一样有一个。在某些文档中,在HTTPD.conf文件中进行了一些编辑
所以我从文档中不明白,我应该从哪里开始?
所以请任何人告诉我实施多站点的步骤。
我想在我的项目中实现多个站点的概念,为此我研究了 django 的官方“站点框架”教程和其他教程。
但我有点困惑我应该从哪里开始,因为如文档中给出的那样,使用了多个站点 ID。但我像往常一样有一个。在某些文档中,在HTTPD.conf文件中进行了一些编辑
所以我从文档中不明白,我应该从哪里开始?
所以请任何人告诉我实施多站点的步骤。
这是非常简单的原理。您有 Site 模型,您可以在其中定义站点,然后在模型中引用此模型。假设我们创建了一个博客应用程序,您将拥有:
场地模型:
ID | domain | name
1 | site-a.example.com | John's blog
2 | site-b.example.com | David's blog
博客文章:
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 常量,并列出给定博客的所有文章,您将当前站点添加到过滤条件。