改变django管理门户的列表视图

时间:2016-07-05 22:26:53

标签: django django-admin django-views

我已经广泛阅读了如何更改Django的管理站点。我觉得它主要是想通了 - 我想。然而,在我的理解中仍有一些事情让我无法理解。我使用默认注册的管理员网址;所以它们不是自定义的,只是自动曝光的。

最简单的解释方法是通过图像......

这是我的所作所为: original admin layout

这就是我想要的: enter image description here

我相当肯定这些变化应该相当简单。但我不确切地知道要改变哪个模型和调整模板以使其看起来如何。 [编号] - [名称]是我模型中的字段。

我已经扩展了管理界面的其他部分,以获取用于编辑特定元素的自定义表单 - 通过注册我的模型并为其自定义字段。

@admin.register(Course)
class CourseAdmin(admin.ModelAdmin):
    form = CourseAdminForm

    fieldsets = (
        ('Course Info:', {'fields': ('course_number', 'name', 'description', 'units')}),
        ('Load Info:', {'fields': ('lecture_hours', 'lab_hours', 'discussion_hours', 'work_hours')})
    )

在我的app/admin.py文件中。

我有点困惑,因为技术上没有在这里注册的模型。所以我不能100%确定如何做到这一点。我是否将CourseAdmin类中的每个修改包装为具有注册URL的不同类/方法,或者还有其他方法需要这样做吗?

1 个答案:

答案 0 :(得分:1)

您需要修改Course模型类:

# models.py
class Course(models.Model):

    # fields here
    name = ...
    # ...

    # add a unicode method
    # __str__ method if you are using python 3.x
    def unicode(self):
        return '%s - %s' % (self.pk, self.name)