gpt4 book ai didi

Django 管理员 : how to add Save button to the top of list view

转载 作者:行者123 更新时间:2023-12-05 05:13:56 24 4
gpt4 key购买 nike

当有列表可编辑字段时,在 Django 管理 ListView 的底部会出现一个保存按钮。 (图中红框包围)。 enter image description here

如何将相同的保存按钮也添加到顶部? (图中绿框包围的预期结果。)

对于对象变化 View ,Django 提供了一个简单的解决方案,但是似乎没有内置的 ListView 选项。

最佳答案

这可以使用 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 模板将此脚本添加到所有管理更改 ListView 。

创建一个包含以下内容的文件 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,
...
}
]

关于Django 管理员 : how to add Save button to the top of list view,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53073944/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com