更改日历的django管理模板

时间:2016-08-03 16:40:47

标签: python django calendar django-templates django-admin

我有一些模特,其中一个是健身课程,

class Gym_Class(models.Model):
    name = models.CharField(max_length=200)
    icon = models.ImageField()
    instructor = models.ForeignKey(Instructor, related_name="instructor")
    program = models.ForeignKey(Program)
    short_review = models.TextField()
    long_review = models.TextField()
    date = models.DateField(default=datetime.now)
    def __unicode__(self):
            return self.name

我想知道是否可以覆盖admin(localhost:8000 / admin / gym_class /)中的列表模板,以基于每个实例的日期字段显示日历格式的会话,仅适用于此模型,其他我希望以常规列表格式看到它们。整个想法是,当有人想编辑有关gym_class实例的一些信息时,他们会看到一个日历而不是在一个大清单中搜索该类。

2 个答案:

答案 0 :(得分:0)

管理模板文件位于contrib / admin / templates / admin目录中。

要覆盖Gym_Class,请在项目的templates目录中创建一个admin目录。在管理员目录内,创建名为[您的应用名称]的子目录。在此目录中创建目录名称Gym_Class。

接下来将contrib / admin / templates / admin / change_list.html复制到刚刚创建的目录中。

现在开始编辑文件,如普通HTML,设置日历和其他您想要做的事情。

docss

答案 1 :(得分:0)

您可以按overriding the admin templates更改django管理员的显示。

您专门想要覆盖的模板名为change_list.html。该文件可以在django的包目录中找到,路径为:

<强> django/contrib/admin/templates/admin/change_list.html

您可以将django模板从其本地python包目录或download it from django's Github repository复制到您的应用程序的一个模板目录中,并将其放入

<强> <template-path>/admin/gym_class/change_list.html

<template-path>是您在项目中放置模板的地方

使用该模板,您可以根据需要自定义它,而无需修改其他应用的更改列表布局。