我制作了一个简单的Django应用程序。我有一个模型“访客”。我的目标是在Django管理员中出现两个表。一个与所有访客一起,一个只有今天的访客。
按照these instructions的说法,我完成了以下代码。但我不知道如何仅仅覆盖仅为VisitorExpectedTodayProxy的change_list.html。
我尝试关注instructions here,然后创建了Site/templates/admin/VisitorLog/VisitorExpectedTodayProxy/change_list.html
并在那里进行了更改,但似乎没有采用它。
Models.py
class Visitor(models.Model):
visit_datetime = models.DateTimeField(null=True)
visitor_name = models.CharField(max_length=500)
#Make dummy models for different object views in admin interface
class VisitorExpectedTodayProxy(Visitor):
class Meta:
proxy=True
verbose_name = "Visitor"
verbose_name_plural = "Today's Visitors and Regular Visitors"
答案 0 :(得分:5)
除了将您的路径小写为:
templates/admin/visitorlog/visitorexpectedtodayproxy/change_list.html
您的change_list.html的内容应该扩展默认的admin / change_list:
{% extends "admin/change_list.html" %}
您可以通过查看django源代码中的各种块模板来自定义此页面的不同部分:
django/contrib/admin/templates/admin/change_list.html
答案 1 :(得分:3)
尝试小写文件夹名称。
注意,管理员应用会 查看时小写模型名称 对于目录,所以请确保你 将目录命名为全部小写if 你打算运行你的应用程序 区分大小写的文件系统。
另外,您是否已查看确保模板目录正常工作的清单? TEMPLATE_DIRS
需要包含您的此模板文件夹,并确保filesystem
模板加载程序位于app_directories
加载程序之前。
最后,您可以通过ModelAdmin属性指向模板: http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.change_list_template