在Django Admin中,隐藏用户编辑中的某些字段可以通过以下方法实现:
在admin.py文件中,创建一个自定义的表单类,继承自Django的ModelForm类,并在其中定义需要显示或隐藏的字段。然后,在模型管理类中使用该表单类替换默认的表单类。
from django import forms
from django.contrib import admin
from .models import YourModel
class CustomModelForm(forms.ModelForm):
class Meta:
model = YourModel
fields = ['field1', 'field2', 'field3']
widgets = {
'field_to_hide': forms.HiddenInput(),
}
class CustomModelAdmin(admin.ModelAdmin):
form = CustomModelForm
admin.site.register(YourModel, CustomModelAdmin)
exclude
属性在模型管理类中,可以使用exclude
属性来排除不需要显示的字段。
from django.contrib import admin
from .models import YourModel
class CustomModelAdmin(admin.ModelAdmin):
exclude = ['field_to_hide']
admin.site.register(YourModel, CustomModelAdmin)
fieldsets
属性通过fieldsets
属性可以更细致地控制表单中字段的显示。
from django.contrib import admin
from .models import YourModel
class CustomModelAdmin(admin.ModelAdmin):
fieldsets = [
('Basic Information', {'fields': ['field1', 'field2']}),
('Advanced Information', {'fields': ['field3']}),
]
admin.site.register(YourModel, CustomModelAdmin)
这样,在Django Admin中编辑用户时,指定的字段就会被隐藏。
领取专属 10元无门槛券
手把手带您无忧上云