修改Django的admin.py配置后后台管理页面没有生效如何解决?
Django Admin配置不生效问题解决方案
你已经为Form、Biuletyn、Ogloszenie三个模型自定义了继承自ModelAdmin的配置类,但调用admin.site.register()方法注册模型时,没有将对应的自定义配置类作为第二个参数传入,因此Django始终调用默认的ModelAdmin规则渲染后台,导致你写的exclude、list_display、fields等配置都没有生效。
修正后的完整admin.py代码
from django.contrib import admin from .models import Form, Biuletyn, Ogloszenie, Album class FormAdmin(admin.ModelAdmin): exclude = ('img',) class BiuletynAdmin(admin.ModelAdmin): list_display = ('name', 'date') class OgloszenieAdmin(admin.ModelAdmin): fields = ('name', 'date', 'upload') # 注册时传入对应的自定义ModelAdmin类 admin.site.register(Form, FormAdmin) admin.site.register(Biuletyn, BiuletynAdmin) admin.site.register(Ogloszenie, OgloszenieAdmin) # Album没有自定义Admin配置,保持原有注册逻辑即可 admin.site.register(Album)
生效验证操作
- 修改代码后重启Django开发服务,确保新代码被加载
- 强制刷新后台页面,避免浏览器缓存旧的页面资源
- 进入对应模型的管理页面验证配置:Form编辑页会隐藏img字段,Biuletyn列表页会展示name、date两列,Ogloszenie编辑页仅展示指定的3个字段
内容的提问来源于stack exchange,提问作者ratchek
相关产品推荐
相关产品推荐

