15

我有一种情况,我为给定模型覆盖了 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 实例。)

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

4

2 回答 2

21

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

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

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

于 2010-10-08T22:11:24.723 回答
15

随便摸摸,似乎{{adminform.form.instance}}有效。

于 2011-02-22T16:59:14.127 回答