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

时间:2010-10-08 21:39:28

标签: django templates admin extend

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

/myproject/templates/admin/myapp/mymodel/change_form.html

然后,在我正在编辑现有对象实例的覆盖的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 %}

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

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

非常感谢任何建议。 谢谢, 乔

2 个答案:

答案 0 :(得分:17)

看起来我找到了一种使用这种语法来实现此目的的方法。

{% 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 %}

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

答案 1 :(得分:11)

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