在django 1.2中使用不同数据库数据库的多django管理员 - 奇怪的问题

时间:2010-06-16 21:21:53

标签: django django-admin django-orm

我正在使用django 1.2来创建一个多站点商店。我需要为每个商店实例进行多次管理登录,例如

site.com/au/admin
site.com/uk/admin
等等。

我有一个中间件类和一个基于URL处理数据库连接的dbrouter。这很好。

我正在尝试根据特定商店的可用内容为每个管理系统添加一些自定义。所以:

在admin.py中:
如果country =='au':
    admin.site.register(订单)
    admin.site.register(付款)

如果country =='uk':
    admin.site.register(Store_locator)
等。

她的问题是:如果我登录网站的AU版本,管理系统会显示AU的正确元素。如果我然后登录到英国,它仍然显示管理系统的AU版本,所以上面的代码似乎只在第一次加载时使用。如果我杀了django服务器并重新启动它,那么进入不同的商店管理页面,它将为该商店重新配置。

每次管理系统加载时,如何让它在国家/地区获取更改?为什么这个问题首先发生?

非常感谢任何帮助。

谢谢, imanc

1 个答案:

答案 0 :(得分:0)

我敢打赌,Django不会在每次请求时读取admin配置,但每次重启服务器时都会这样 - 这就是为什么它“坚持”到你先访问的那个。

为什么不使用Django.contrib.auth的权限来限制特定管理员用户在管理员中看到的内容,并将admin.py中的所有模型注册为标准?