Django grappelli добавление пользовательского js в change_form

#django #django-admin #django-grappelli

#django #django-администратор #django-grappelli

Вопрос:

Я пытаюсь добавить свой пользовательский javascript в некоторые шаблоны change_form. Перед установкой Grappelli я мог бы сделать это, расширив change_form.html администратора и создания вложенных папок под шаблонами с именами моих модулей.

Например, мое дерево hireachy было похоже :

  templates 
  admin_copies 
   change_form.html (I have added extra js blocks) 
  admin 
   employer 
    employer 
     change_form.html 
    employer_new 
     change_form.html
  

Как вы понимаете, у меня есть модель с именем «Работодатель». Я могу добавить свои пользовательские
методы js в change_form.html файлы.
Однако этот вид наследования вызывает проблемы javascript / breadcrumbs
с Grappelli.
Как я могу просто добавить свои пользовательские функции javascript для каждой модели
отдельно?

Ответ №1:

Создайте подкласс ModelAdmin и определите пользовательский js в его Media классе.

admin.py , в той же папке, models.py что и у Employer :

 from django.contrib import admin
from models import Employer

class EmployerAdmin(admin.ModelAdmin):
    class Media:
        js = ("js/custom.js",) # This paths are appended to your MEDIA_URL setting

admin.site.register(Employer, EmployerAdmin)
  

Подробнее читайте здесь