我正在使用Django 1.3
和python 2.7
。我正在使用Django admin应用程序。我想要的是当superuser
登录时应将admin / index.html与所有模型一起显示,这是默认行为,但如果有其他行为如果不是超级用户的用户登录,则应该显示一个与我的数据完全不同的模板(例如“ abc.html”)。我该怎么做?我想我需要重写一些管理视图来执行此操作,但是不知道?
请帮助。如果您想了解更多信息,请评论:)
最佳答案
您创建带有其他权限规则的修改后的AdminSite类定义。
class SuperUserAdminSite( AdminSite ):
def has_permission(self, request):
return request.user.is_active and request.user.is_staff and request.user. is_superuser
现在,您可以创建两个AdminSite对象,一个用于普通用户,一个用于超级用户。
您在两个管理站点的URL中可以有两个路径。
超级用户可以使用这两种路径。
普通用户将只能使用URL中的普通用户路径。
https://docs.djangoproject.com/en/1.3/ref/contrib/admin/#adminsite-objects
关于python - 覆盖管理员 View -Django,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9226768/