6

django管理者変更リストページの上部に保存ボタンが必要です。djangoにはこの機能が組み込まれていないようです。save_on_topオプションは、フォーム変更ページでの動作のみを制御します。どんな提案でも大歓迎です。

4

3 に答える 3

7

Django 3(およびそれ以前の場合は不明)で、カスタム管理フォームに追加しますsave_on_top = True

class MyAdmin(admin.ModelAdmin):
    save_on_top = True
于 2020-04-26T22:16:32.217 に答える
5

まず、にあるテンプレートを拡張する方法が必要ですdjango/contrib/admin/templates/admin/change_list.html。その方法がまだわからない場合は、この回答この回答を確認してください。

次に、独自のchange_list.htmlテンプレートを作成し、次のようなコードを挿入する必要があります。簡単にするために、インラインCSSを含めました。ただし、これは悪い習慣なので、実行しないでください。CSSを外部ファイルに移動すると仮定すると、をロードする必要はありませんadmin_static。最後に、使用するextends線は、ここで示したものとまったく同じではない場合があります。

{% extends "contrib/admin/templates/admin/change_list.html" %}
{% load i18n admin_static %}

{% block result_list %}
    {% if cl.formset and cl.result_count %}
        <div style="border-bottom: 1px solid #ccc; background: white url({% static "admin/img/nav-bg.gif" %}) 0 180% repeat-x; overflow: hidden;">
            <p>
                <input type="submit" name="_save" class="default" value="{% trans 'Save' %}"/>
            </p>
        </div>
    {% endif %}

    {{ block.super }}
{% endblock %}

{% if %}タグとその中のタグ<input>はからdjango/contrib/admin/templates/admin/pagination.htmlです。

CSSはのCSSに基づいており、に#changelist .paginatorありdjango/contrib/admin/static/admin/css/changelists.cssます。

于 2013-01-31T05:21:16.380 に答える
2

ページの上部にもページ付けリンクを配置してもかまわない場合は、数行のテンプレートコード(Django 2.0のworksforme)を使用してページ付けリンクを作成できます。

作成my_app/templates/admin/my_app/my_model/change_list.html

{% extends "admin/change_list.html" %}
{% load admin_list %}

{% block result_list %}
    {% pagination cl %}
    {{ block.super }}
{% endblock %}

これにより、ページネーションと保存ボタンがレンダリングされます。

ここに画像の説明を入力してください

ただし、1行か2行のCSSの恩恵を受けることができます...

于 2019-05-04T18:51:16.967 に答える