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



我使用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应用程序

这里有 photologues管理模板

路径templates/admin/photologue/photo/change_list.html中部件photo对应Photo模型。你子类化了那个模型。新模型名称为PhotoExtended,但templates/admin/photologue/photo_extend/change_list.html中没有模板

从photologue app复制change_list.html到你自己的(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' %}

Update:另一种选择是设置(其中一个)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

最新更新