我有一些模特,其中一个是健身课程,
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实例的一些信息时,他们会看到一个日历而不是在一个大清单中搜索该类。
答案 0 :(得分:0)
管理模板文件位于contrib / admin / templates / admin目录中。
要覆盖Gym_Class,请在项目的templates目录中创建一个admin目录。在管理员目录内,创建名为[您的应用名称]的子目录。在此目录中创建目录名称Gym_Class。
接下来将contrib / admin / templates / admin / change_list.html复制到刚刚创建的目录中。
现在开始编辑文件,如普通HTML,设置日历和其他您想要做的事情。
答案 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>
是您在项目中放置模板的地方
使用该模板,您可以根据需要自定义它,而无需修改其他应用的更改列表布局。