class 之外的 admin.py 中的访问请求对象
Access request object in admin.py outside the class
如何访问 request
对象,以便我可以加载 不同的 管理视图,具体取决于用户的级别。
下面是代码(admin.py
)我想这样做,但不知道如何访问当前用户。
class AdvancedPost(admin.ModelAdmin):
list_display = ['post_title', 'body', 'rating']
class SimplePost(admin.ModelAdmin):
list_display = ['post_title', 'category']
if request.user.is_superuser:
admin.site.register(Post, AdvancedPost)
else:
admin.site.register(Post, SimplePost)
谢谢
您可以编写单个 class 并根据需要覆盖各个方法,例如:
class PostAdmin(admin.ModelAdmin):
def get_list_display(request):
if request.user.is_superuser:
return ['post_title', 'body', 'rating']
else:
return ['post_title', 'category']
admin.site.register(Post, PostAdmin)
请参阅 https://docs.djangoproject.com/en/1.7/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_list_display 以获取您可以覆盖的方法列表。
如何访问 request
对象,以便我可以加载 不同的 管理视图,具体取决于用户的级别。
下面是代码(admin.py
)我想这样做,但不知道如何访问当前用户。
class AdvancedPost(admin.ModelAdmin):
list_display = ['post_title', 'body', 'rating']
class SimplePost(admin.ModelAdmin):
list_display = ['post_title', 'category']
if request.user.is_superuser:
admin.site.register(Post, AdvancedPost)
else:
admin.site.register(Post, SimplePost)
谢谢
您可以编写单个 class 并根据需要覆盖各个方法,例如:
class PostAdmin(admin.ModelAdmin):
def get_list_display(request):
if request.user.is_superuser:
return ['post_title', 'body', 'rating']
else:
return ['post_title', 'category']
admin.site.register(Post, PostAdmin)
请参阅 https://docs.djangoproject.com/en/1.7/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_list_display 以获取您可以覆盖的方法列表。