我对相当一维的 Django 实现感到满意,但现在试图理解多站点共享的过程。
我已经阅读了 Django Sites Framework 和许多关于该主题的帖子,但我没有了解如何启动使用相同数据库的第二个站点的基础知识,但它以单独的域名呈现。
我有一个非常愉快且按惯例的 django 站点,其中包含一个在项目中运行的应用程序。
为了使用教程的说法,我开始了一个项目“mysite”
django-admin.py startproject mysite
然后启动了一个应用程序“民意调查”
manage.py startapp polls
Q1:站点框架是否假定每个站点都是单独的项目或单独的应用程序?
项目中的第二个应用程序“polls2”似乎很有意义,但定义 SITE_ID 的 settings.py 似乎是整个项目的事情。有没有办法进行逐个应用程序设置?
与“mysite”相邻的第二个项目“mysite2”会给我第二个结构,它有自己的 settings.py 和单独的 SITE_ID,但似乎严重违反了“DRY”原则,因为我会复制许多元素相邻的姐妹项目。
Q2:听起来我需要将数据库模型(models.py)重新定义为多对多关系,以便在站点之间共享数据。这只是改变了 Django 访问这些表的方式,还是现有站点的数据库也需要重建?
您对实施站点框架的预期过程的指导将非常感激。