繁体   English   中英

自定义AdminSite Django的自定义模板

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM