Django:管理多个站点和语言的管理员
-
02-10-2019 - |
题
我应该构建一些Django应用程序,使您可以通过一个后端管理多个站点。这 contrib.sites
对于我的目的而言,框架非常完美。我可以运行多个实例 manage.py
每个站点都有不同的设置;但是,Django的管理员应该如何处理不同站点的不同设置,例如。如果它们具有不同的语言集,则是不同的(默认)语言?因此,如果您必须处理来自一个管理员不同站点的对象,则面临一些问题。
我认为 settings.ADMIN_FOR
对于这样的案例,应该很有帮助,但是几乎没有任何文档,我认为它在实际的Django版本中并未真正使用(?)。
因此,任何想法/解决方案都受到欢迎,并感谢!非常感谢...
解决方案
有一个旧的 詹姆斯·本奈特(James Bennet)的博客文章 这可能会有所帮助:
- 为每个域中创建一个新的站点对象,并将该站点的ID放入其设置文件中,如site_id,因此Django知道数据库中的哪个站点与此设置文件相对应。
- 在您的原始站点的设置文件中(具有ID 1的一个),将其他站点的设置文件添加到Admin_for设置中,以便Django知道管理应用程序的一个实例将处理所有站点。
如有记录的admin_for(我无法发布链接)应该是设置模块的元组,就像instaled_apps一样,是Django App模块的元组。
请注意,博客文章来自2006年,因此它使用了一些过时的API。
不隶属于 StackOverflow