Django admin:在change_form中包含数据库中的一些数据

时间:2011-02-05 19:39:52

标签: javascript django django-admin

我正在使用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制作模板,但我不确定如何将boobar值放入模板中。 (它们是从数据库中计算出来的。)

这里的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以覆盖ModelAdmin.change_view,将您想要的任何变量传递给change_form模板。

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

您还可能(未经测试)在ModelAdmin中定义视图,将其映射到ModelAdmin.get_urls的网址,然后将该网址传递给管理媒体。

这样你就不必覆盖模板了。