【问题标题】:Django admin: including some data from the database in a change_formDjango admin:在 change_form 中包含来自数据库的一些数据
【发布时间】:2011-06-22 00:09:49
【问题描述】:

我正在使用 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 值放入模板中。 (它们是从数据库中计算出来的。)

这里的正确方法是什么?

【问题讨论】:

    标签: javascript django django-admin


    【解决方案1】:

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

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

    您还可以潜在地(未经测试)在您的ModelAdmin 中定义一个视图,将其映射到带有ModelAdmin.get_urls 的 URL,然后将该 URL 传递给管理媒体。

    这样您就不必覆盖模板。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-26
      • 2012-05-03
      • 1970-01-01
      • 2020-07-03
      • 1970-01-01
      • 2011-04-27
      • 2015-08-06
      • 1970-01-01
      相关资源
      最近更新 更多