Допустим, у вас есть модель как class Post(models.Model):
В вашем файле admin.py создайте что-то вроде этого:
class Post(models.Model):
title = ...
def change_view(self, request, object_id, form_url='', extra_context=None):
extra_context = extra_context or {}
if object_id:
extra_context.update(
instance=Posts.objects.get(pk=object_id)
)
return super().change_view(
request, object_id, form_url=form_url, extra_context=extra_context
)
, чтобы каждый раз, когда вы go переходили на свою страницу сообщений в админке вы получите переменную {{instance}}
. Затем вы должны создать новую папку внутри вашей папки templates
и назвать ее admin
, затем внутри папки admin
создать новый файл с именем change_form.html
(имена важны) документы внутри этого файла:
{% extends "admin/change_form.html" %}
{% block after_field_sets %}
{% if instance %}
PUT YOUR CHANGES IN HERE
{% endif %}
{% endblock %}
Это заменит только страницу поста в админке. Другие страницы останутся прежними. Чтобы точно решить, куда поместить ваши изменения, вы можете проверить значение по умолчанию change_form.html
из django.