[英]How can I display form in django admin depending on user, Django
I want to display one form for superuser and another one for others stuff users. 我想为超级用户显示一种表单,为其他东西用户显示另一种表单。 For example, the only superuser can fill/edit fields like author, likes_count, views_count...
例如,唯一的超级用户可以填充/编辑诸如author,likes_count,views_count ...之类的字段。
How can I do it? 我该怎么做?
You need to customize corresponding ModelAdmin
for your model. 您需要为模型自定义相应的
ModelAdmin
。
admin.py 管理员
from django.contrib import admin
from .forms import SuperuserForm, OtherForm
class MyAdmin(admin.ModelAdmin):
def get_form(self, request, obj=None, **kwargs):
if request.user.is_superuser():
kwargs['form'] = SuperUserForm
else:
kwargs['form'] = OtherUserForm
return super(MyAdmin, self).get_form(request,obj=obj,**kwargs)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.