我应该构建一些Django应用程序,使您可以通过一个后端管理多个站点。这 contrib.sites 对于我的目的而言,框架非常完美。我可以运行多个实例 manage.py 每个站点都有不同的设置;但是,Django的管理员应该如何处理不同站点的不同设置,例如。如果它们具有不同的语言集,则是不同的(默认)语言?因此,如果您必须处理来自一个管理员不同站点的对象,则面临一些问题。

我认为 settings.ADMIN_FOR 对于这样的案例,应该很有帮助,但是几乎没有任何文档,我认为它在实际的Django版本中并未真正使用(?)。

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

有帮助吗?

解决方案

有一个旧的 詹姆斯·本奈特(James Bennet)的博客文章 这可能会有所帮助:

  1. 为每个域中创建一个新的站点对象,并将该站点的ID放入其设置文件中,如site_id,因此Django知道数据库中的哪个站点与此设置文件相对应。
  2. 在您的原始站点的设置文件中(具有ID 1的一个),将其他站点的设置文件添加到Admin_for设置中,以便Django知道管理应用程序的一个实例将处理所有站点。

如有记录的admin_for(我无法发布链接)应该是设置模块的元组,就像instaled_apps一样,是Django App模块的元组。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top