0

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

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

我有一个中间件类和一个基于 URL 处理数据库连接的 drouter。这工作正常。

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

在 admin.py 中:
如果 country == 'au':
admin.site.register(Orders)
admin.site.register(Payment)

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

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

每次加载管理系统时,如何让它在国家/地区发生变化?为什么首先会出现这个问题?

任何帮助将不胜感激。

谢谢,伊曼克

4

1 回答 1

0

我敢打赌,Django 不会在每个请求上读取管理配置,而是在每次重新启动服务器时读取 - 这就是为什么它“坚持”到您首先访问的任何一个。

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

于 2010-06-16T21:26:10.530 回答