我有两个管理站点,并且我希望两个站点上都有不同的自定义模板 这是我的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 documentation覆盖模板,则更改将应用于两个AdminSite。如何为扩展AdminSite的类设置自定义模板?
答案 0 :(得分:0)
我唯一想到的方法是显式覆盖您要自定义的管理页面的URL,并将其指向其他模板。例如,在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/
)之前才有效