如何从模板中的ModelAdmin访问功能?

时间:2019-07-01 10:34:48

标签: python django django-admin

让我们假设ConactAdmin用于显示ConactModel

class ContactAdmin(admin.ModelAdmin):

  change_form_template = "admin/contact_change.html"

  def my_custom_fnc():
    return "Test"

现在,我想在视图html my_custom_fnc()之类的contact_change模板中访问<p>{{my_custom_fnc()}}</p>

是否存在可以在自己的模板中访问的属性列表?我在文档中找不到它。

1 个答案:

答案 0 :(得分:0)

当前的modeladmin实例在上下文中以adminform.model_admin的形式提供,因此它应该可以工作(nb:没有括号-这是Django模板语言,而不是Python):

<p>{{ adminform.model_admin.my_custom_fnc }}</p>

话虽如此,根据my_custom_func应该做什么,可能会有更好的解决方案...

NB:要了解模板上下文中的内容,可以使用{% debug %}模板标记。另外,Django是OSS,因此您只需阅读源代码(这就是我在这里所做的)。