1

我想在我的项目中实现多个站点的概念,为此我研究了 django 的官方站点框架教程和其他教程。

但我有点困惑我应该从哪里开始,因为如文档中给出的那样,使用了多个站点 ID。但我像往常一样有一个。在某些文档中,在HTTPD.conf文件中进行了一些编辑

所以我从文档中不明白,我应该从哪里开始?

所以请任何人告诉我实施多站点的步骤。

4

1 回答 1

1

这是非常简单的原理。您有 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 常量,并列出给定博客的所有文章,您将当前站点添加到过滤条件。

于 2012-10-29T10:51:15.353 回答