Это легко сделать с помощью JavaScript.
Сначала нам понадобится функция JS, которая найдет строку кнопки «Сохранить» в нижней части страницы и вставит копию в верхнюю часть. В моем случае это живет в static/common/js/save-buttons-to-list-view-top.js
.
'use strict'
var $ = django.jQuery
$(document).ready(function () {
var saveButtonRow = $('.paginator')[0]
var resultsDiv = $('#changelist-form > div.results')[0]
if (saveButtonRow && resultsDiv) {
$(saveButtonRow).clone().insertBefore(resultsDiv);
}
})
Этот сценарий необходимо добавить ко всем представлениям списка изменений администратора путем переопределения шаблона change_list.html
.
Создать файл templates/admin/change_list.html
со следующим содержимым:
{% extends 'admin/change_list.html' %}
{% block extrahead %}
{{ block.super }}
<script type="text/javascript" src="/static/media/common/js/save-buttons-to-list-view-top.js"></script>
{% endblock %}
Чтобы это работало, проверьте, настроены ли параметры шаблона в settings.py
:
TEMPLATES = [
{
...
'DIRS': [os.path.join(BASE_DIR, 'templates'), ],
'APP_DIRS': True,
...
}
]