Администратор Django: включение некоторых данных из базы данных в форму change_form - PullRequest
1 голос
/ 05 февраля 2011

Я использую Django 1.2.4. У меня есть класс администратора для модели, которая имеет медиа-JavaScript. Я хотел бы сделать некоторые данные из базы данных доступными для этих сценариев. Я не уверен, что лучший способ сделать это будет.

Возможно, что-то вроде этого: (не то, чтобы я думал, что это правильно, просто пытаюсь донести свою мысль.)

class FooAdmin(admin.ModelAdmin):
    class Media:
         js = ("js/baz.js")
         raw_js = "var boo = %s; var bar = %s" % (boo, bar)

Я подумал о создании шаблона на /templates/admin/foo-app/foo/change_form.html, но я не уверен, как поместить значения boo и bar в шаблон. (Они рассчитаны из базы данных.)

Какой правильный подход здесь?

1 Ответ

0 голосов
/ 05 февраля 2011

Вы можете переопределить ModelAdmin.change_view для передачи любых переменных в шаблон change_form.

http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.change_view

Вы также можете (не проверено) определить представление в вашем ModelAdmin, сопоставить его с URL-адресом с ModelAdmin.get_urls и передать этот URL-адрес административному носителю.

Таким образом, вам не придется переопределять шаблон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...