来分享一下在admin注册的时候,容易遇到的错误
我写的代码如下:
###定义后台管理类###
class BookInfoAdmin(admin.ModelAdmin):
######列表显示页操作######
list_per_page = 2
#######操作选项 的位置#####
actions_on_top = True
actions_on_bottom = True
######列表中的列######
list_display = ["id", "btitle"]
class HeroInfoAdmin(admin.ModelAdmin):
list_per_page = 5
# 修改动作按的位置
actions_on_top = True
actions_on_bottom = True
##在显示时,定义显示那些数据字段
list_display = ["hname","hgender","hcomment","read"]
写到这里你发现代码没有报错,但是在网页上,发现没有得到自己想要的结果,那这个时候肯定是你没有注册模型类
注册前是这样:
# 注册模型类
admin.site.register(BookInfo)
admin.site.register(HeroInfo)
注册后是这样:
# 注册模型类
admin.site.register(BookInfo, BookInfoAdmin)
admin.site.register(HeroInfo, HeroInfoAdmin)
如果你出现以上问题这样可以解决.
当然如果你出现一下问题
<class 'users.admin.BookInfoAdmin'>: (admin.E108) The value of 'list_display[1]'
refers to 'btitle', which is not a callable, an attribute of 'BookInfoAdmin',
or an attribute or method on 'users.HeroInfo'.
那你需要检查一下是不是注册模型类的时候,模型类写错了.导致了这样的问题,第34行是HeroInfoAdmin
我不小心也写成了BookInfoAdmin,所以出现了以上的报错信息.
33 admin.site.register(BookInfo, BookInfoAdmin)
34 admin.site.register(HeroInfo, BookInfoAdmin)
改一下就好了
# 注册模型类
admin.site.register(BookInfo, BookInfoAdmin)
admin.site.register(HeroInfo, HeroInfoAdmin)
这个问题我卡了半个小时左右,终于找到了是这里的问题.犯了一个很低级的错误.哈哈哈哈