0

我应该构建一些 Django 应用程序,允许您通过一个后端管理多个站点。该contrib.sites框架非常适合我的目的。manage.py我可以为每个站点运行具有不同设置的多个实例;但是django的管理员应该如何处理不同站点的不同设置,例如。如果他们有不同的语言集,不同的(默认)语言?因此,如果您必须在一个管理员中处理来自不同站点的对象,则需要面对一些问题......

我认为settings.ADMIN_FOR应该对这样的情况很有帮助,但是几乎没有任何关于它的文档,而且我认为它并没有真正用于实际的 Django 版本(?)。

因此,欢迎并非常感谢任何想法/解决方案!非常感谢...

4

1 回答 1

1

James Bennet的一篇旧博客文章可能会有所帮助:

  1. 在您的管理员中为每个域创建一个新的 Site 对象,并将该站点的 id 作为 SITE_ID 放入其设置文件中,以便 Django 知道数据库中的哪个站点对应于该设置文件。
  2. 在原始站点的设置文件(id 为 1 的站点)中,将其他站点的设置文件添加到 ADMIN_FOR 设置,让 Django 知道管理应用程序的这个实例将处理所有站点。

正如记录的 ADMIN_FOR (我无法发布链接)应该是设置模块的元组,就像 INSTALED_APPS 是 django 应用程序模块的元组一样。

请注意,博客文章来自 2006 年,因此它使用了有点过时的 API。

于 2010-05-03T17:28:42.637 回答