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.)
Любые советы очень ценятся.
Благодаря,
Джо
Ответы
Ответ 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}}
работает.