Django admin 中增加数据页面的增加basic info 这个怎么修改?我想修改为增加商品信息

Django admin 中增加数据页面的增加basic info 这个怎么修改?我想修改为增加商品信息

关注引自免费微信小程序:皆我百晓生
要修改Django Admin中特定模型的“增加”页面布局,特别是想要添加或修改字段分组如Basic Info,可以通过自定义Admin表单类和Admin类实现。下面是一个详细的步骤和示例代码。
在你的应用目录下的admin.py文件中,首先导入必要的模块,并创建一个继承自ModelForm的自定义表单类。在这个类中,可以使用Meta内部类来指定模型和字段。
from django import forms
from .models import YourModel
class BasicInfoForm(forms.ModelForm):
class Meta:
model = YourModel
fields = [
'category', 'full_name', 'product_code',
'pinyin_code', 'specification', 'model',
'origin', 'upper_stock_limit', 'lower_stock_limit'
]
接下来,创建一个继承自ModelAdmin的自定义Admin类。在这个类中,你可以使用form属性来引用上面创建的自定义表单类。此外,使用fieldsets属性来组织字段为不同的分组。
from django.contrib import admin
class BasicInfoAdmin(admin.ModelAdmin):
form = BasicInfoForm
fieldsets = (
('Basic Info', {
'fields': (
'category',
'full_name',
'product_code',
'pinyin_code',
'specification',
'model',
'origin',
'upper_stock_limit',
'lower_stock_limit',
),
}),
('Price Information', {
'classes': ('collapse',),
'fields': (
# 价格信息字段放在这里
),
}),
)
最后,确保在admin.py文件中注册你的模型和自定义Admin类。
admin.site.register(YourModel, BasicInfoAdmin)
将以上所有代码段组合在一起,你的admin.py文件可能看起来像这样:
from django import forms
from django.contrib import admin
from .models import YourModel
# 自定义表单类
class BasicInfoForm(forms.ModelForm):
class Meta:
model = YourModel
fields = [
'category', 'full_name', 'product_code',
'pinyin_code', 'specification', 'model',
'origin', 'upper_stock_limit', 'lower_stock_limit'
]
# 自定义Admin类
class BasicInfoAdmin(admin.ModelAdmin):
form = BasicInfoForm
fieldsets = (
('Basic Info', {
'fields': (
'category',
'full_name',
'product_code',
'pinyin_code',
'specification',
'model',
'origin',
'upper_stock_limit',
'lower_stock_limit',
),
}),
('Price Information', {
'classes': ('collapse',), # 可折叠的字段集
'fields': (
# 价格信息字段放在这里
),
}),
)
# 注册模型和Admin类
admin.site.register(YourModel, BasicInfoAdmin)
通过这些步骤,你可以根据需求定制Django Admin界面的布局和样式。