Django覆盖管理员change_form.html模板 - 在模板中显示关联的模型

Joe*_*e J 13 django templates admin extend

我有一种情况,我已经覆盖了给定模型的admin_change.html模板.我创建了一个文件,例如:

/myproject/templates/admin/myapp/mymodel/change_form.html
Run Code Online (Sandbox Code Playgroud)

然后,在覆盖的change_form.html模板中,我正在编辑现有的对象实例,我希望能够访问该模型实例变量,以便我可以显示有关它的更多信息.

{% extends "admin/change_form.html" %}
{% block after_field_sets %}{{ block.super }}
Print my model here: {{ mymodel }}
Print foreignkey related records of my model:  
    {% for item in mymodel.items_set.all %} {{ item }} {% endfor %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

但是,我不知道我应该使用什么模板变量来访问这个模型(如果它甚至都被传递).我试过挖掘管理源代码,但很快就迷路了.有谁知道如何从扩展的django模板中访问此模型实例变量?

(注意:在上面的代码中,对{{mymodel}}的引用是不正确的.但重点是我希望能够在我的模板代码中使用类似的变量来引用mymodel实例.)

任何建议都非常感谢.谢谢,乔

Joe*_*e J 18

看起来我找到了使用这种语法执行此操作的方法.

{% extends "admin/change_form.html" %}
{% block after_field_sets %}{{ block.super }}
Print my model here {{ original }}
Print foreignkey related records of my model:
{% for item in original.items_set.all %} {{ item }} {% endfor %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

很抱歉回答这么快,但感谢任何开始研究的人.也许有人会觉得这很有帮助.如果您看到更好的方法,请随意发表评论.


小智 12

只是四处寻找,似乎{{adminform.form.instance}}有效.