如何在自定义admin.py后继续使用第三个应用程序管理模板?

时间:2016-09-11 17:20:17

标签: django django-templates django-admin photologue

我使用django-photologue并对其进行了扩展:

# gallery.models.py
from photologue.models import Photo
from profiles.models import UserProfile

class PhotoExtended(Photo):
    user = models.ForeignKey(UserProfile, verbose_name=_('user'), on_delete=models.CASCADE)

# gallery.admin.py
from photologue.admin import PhotoAdmin as PhotoAdminDefault
from photologue.models import Photo

from .models import PhotoExtended

class PhotoAdmin(PhotoAdminDefault):
    save_on_top = True

admin.site.unregister(Photo)
admin.site.register(PhotoExtended, PhotoAdmin)

Photologue具有上传包含照片的zip文件的功能,可以使用管理员中的其他按钮完成。我改变后,这个按钮就消失了。

是否可以使用原生photologue的管理模板,以避免将它们复制粘贴到我应用的模板文件夹中?在INSTALLED_APPS photologue高于我的gallery应用

Herephotologue个管理模板。

1 个答案:

答案 0 :(得分:0)

在路径templates/admin/photologue/photo/change_list.html中,部分photo对应于Photo模型。你继承了那个模型。新模型名称为PhotoExtended,但templates/admin/photologue/photo_extend/change_list.html中没有模板。

change_list.html从photologue app复制到您自己的(app)模板文件夹中。例如:project/app/templates/admin/photologue/photo_extend/change_list.html

或者您也可以创建一个新文件并使用包含旧模板:

# project/app/templates/admin/photologue/photo_extend/change_list.html
{% include 'admin/photologue/photo/change_list.html' %}

更新:另一种方法是设置(其中一个)BaseModelAdmin属性:

# Custom templates (designed to be over-ridden in subclasses)
add_form_template = None
change_form_template = None
change_list_template = None
delete_confirmation_template = None
delete_selected_confirmation_template = None
object_history_template = None