【问题标题】:Updates to admin.py not reflected in the django admin page对 admin.py 的更新未反映在 django 管理页面中
【发布时间】:2021-09-24 19:22:41
【问题描述】:

我正在构建一个 django 应用程序,而 django 管理页面似乎没有反映我对 admin.py 所做的更改。例如,如果我想排除某些字段,或者自定义管理员更改列表,则实际页面中没有任何更改。唯一似乎正确反映的是我可以注册模型,它们会显示出来。

这是我的 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')

admin.site.register(Form)
admin.site.register(Biuletyn)
admin.site.register(Ogloszenie)
admin.site.register(Album)

附:请忽略奇怪的型号名称。该网站实际上是不同的语言:D

【问题讨论】:

    标签: python django django-models django-admin


    【解决方案1】:

    这是您注册ModelAdmin的方式:

    admin.site.register(Form, FormAdmin)
    admin.site.register(Biuletyn, BiuletynAdmin)
    admin.site.register(Ogloszenie, OgloszenieAdmin)
    

    这是如何注册你的Models:

    admin.site.register(Album)
    

    更多细节可以参考Django官方文档:https://docs.djangoproject.com/en/3.2/ref/contrib/admin/#modeladmin-objects

    【讨论】:

      【解决方案2】:

      添加 admin_class

      以 Form 模型为例:

      admin.site.register(Form, admin_class=FormAdmin)
      

      【讨论】:

        猜你喜欢
        • 2014-04-25
        • 2016-02-29
        • 2023-03-04
        • 2011-05-09
        • 1970-01-01
        • 1970-01-01
        • 2013-07-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多