Django:拥有多个网站的管理员和语言

时间:2010-05-02 21:33:21

标签: python django multilingual sites multiple-sites

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

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

所以任何想法/解决方案都是受欢迎的,非常感谢! 非常感谢...

1 个答案:

答案 0 :(得分:1)

有一个旧的blog post by James Bennet可能会有所帮助:

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

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

请注意,博客文章是从2006年开始的,所以它使用的是过时的API。