[英]Custom templates for custom AdminSite Django
我有两个管理站点,并且两个站点上都希望有不同的自定义模板,这是我的admin.py文件:
from django.contrib import admin
from django.contrib.admin import AdminSite
from .models import Equipo
@admin.register(Equipo)
class EquipoAdmin(admin.ModelAdmin):
list_display = ('codigo', 'nombre', 'contador', 'unidades')
class AdminMantenimiento(AdminSite):
site_header = "MANTENIMIENTO"
class EquipoAdminMantenimiento(admin.ModelAdmin):
list_display = ('codigo', 'nombre')
admin_site = AdminMantenimiento(name='Administrador Mantenimiento')
admin_site.register(Equipo, EquipoAdminMantenimiento)
这是我的urls.py文件:
from django.contrib import admin
from django.urls import path
from Mantenimiento.admin import admin_site
urlpatterns = [
path('admin/', admin.site.urls),
path('admin2/',admin_site.urls)
]
如果我根据Django文档覆盖模板,则更改将应用于两个AdminSite。 如何为扩展AdminSite的类设置自定义模板?
我唯一想到的方法是显式覆盖您要自定义的管理页面的网址,并将其指向其他模板。 例如,要在admin2 /中自定义模板,但不能在admin1 /中自定义模板
from django.contrib import admin
from django.urls import path
from Mantenimiento.admin import admin_site
from app.views import *
urlpatterns = [
path('admin/', admin.site.urls),
path('admin2/app/model', TemplateView.as_view(template_name='model_admin.html')),
path('admin2/', admin_site.urls)
]
仅当更具体的URL定义( admin2/app/model
)出现在较不具体的定义( admin2/
)之前,这才起作用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.