django管理站点覆盖change_list.html

时间:2019-11-21 20:16:44

标签: django

它们是否有可能覆盖change_list.html? enter image description here

我只想添加另一个表/列表视图,

models.py

class StudentsEnrollmentRecord(models.Model):
    Student_Users = models.ForeignKey(StudentProfile, related_name='students', on_delete=models.CASCADE,null=True)
    School_Year = models.ForeignKey(SchoolYear, related_name='+', on_delete=models.CASCADE, null=True, blank=True)
    Courses = models.ForeignKey(Course, related_name='+', on_delete=models.CASCADE, null=True, blank=True)
    Section = models.ForeignKey(Section, related_name='+', on_delete=models.CASCADE, null=True,blank=True)

admin.py

class StudentsEnrollmentRecordAdmin(admin.ModelAdmin):
    #inlines = [InLineSubject]
    list_display = ('lrn', 'Student_Users', 'Education_Levels', 'Courses', 'Section', 'Payment_Type', 'Discount_Type' ,'School_Year')
    #list_select_related = ('Student_Users')
    ordering = ('Education_Levels','Student_Users__lrn')
    list_filter = ('Student_Users','Education_Levels','Section','Payment_Type')


    def lrn(self, obj):
        return  obj.Student_Users.lrn

更新示例 enter image description here

1 个答案:

答案 0 :(得分:1)

您必须在项目路径中创建一个目录,如下所示:myproject / templates / admin(如果这是您在settings.py中的DIRS模板选项中指定的模板设置),并在其中创建一个名为change_list.html的新文件目录。然后,Django将使用它而不是默认值。

此外,您还可以使用这个新的change_list.html模板进行扩展/使用。

有关覆盖和替换默认管理和注册模板的更多参考,请参见:https://docs.djangoproject.com/en/2.2/ref/contrib/admin/->搜索“覆盖管理模板”