Подтвердить что ты не робот

Django Override Admin change_form.html Шаблон - отображает связанную модель в шаблоне

У меня есть ситуация, когда я переопределил шаблон 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.)

Любые советы очень ценятся. Благодаря, Джо

4b9b3361

Ответ 1

Похоже, я нашел способ сделать это, используя этот синтаксис.

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

Жаль ответить так скоро, но спасибо всем, кто начал исследовать. Возможно, кто-то найдет это полезным. Если вы видите лучший способ сделать это, не стесняйтесь комментировать.

Ответ 2

Просто сотрясаясь, кажется, что {{adminform.form.instance}} работает.