16 Stimmen

Hinzufügen von Berichten zu Djangos Admin

Ich möchte eine zusätzliche Reihe von Seiten zu meiner automatisch generierten Admin-Site hinzufügen. Ich möchte Berichte aus meinen Modellen und einige Protokolle zu generieren, um es. Die eigentliche Generierung ist nicht das Problem.

Wie kann ich:

  1. Soll die Berichtsausgabe wie eine Verwaltungsseite aussehen, mit Breadcrumbs, ähnlich formatierter Tabelle usw.?
  2. Die Ansicht registrieren, damit sie auf der ersten Seite erscheint?

6voto

Yoni Samlan Punkte 37475

Die obige Antwort nicht adressieren Frage 2, zumindest direkt ... der "hack" Weg, um Ihre benutzerdefinierte Ansicht zu zeigen, wie die Titelseite des Admin ist wahrscheinlich nur überschreiben es in der urlconf:

(r'^admin/$', my.custom.admin.homepage),

vor der normalen Verwaltungszeile:

(r'^admin/', admin.site.root),

der "richtige" Weg, um es zu tun, ist jedoch, um Ihre Admin eine benutzerdefinierte Instanz von AdminSite und überschreiben Sie die index_template Einstellung. http://docs.djangoproject.com/en/dev/ref/contrib/admin/#Root-and-login-templates

4voto

Andy Hume Punkte 38284

Was die Erstellung des Erscheinungsbildes von admin betrifft, so sollte es trivial sein, die übergeordneten Seiten von admin zu übernehmen und Ihre eigenen Vorlageninhalte in die entsprechenden Blöcke einzufügen.

Werfen Sie einen Blick auf das Markup (einschließlich id- und class-Attribute) in den Standard-Admin-Seiten und versuchen Sie, ein Verständnis dafür zu bekommen, wie die Dinge konsistent gestylt sind. Wenn Sie das Admin-CSS auf der Seite einbinden, sollten Sie eine ganze Menge davon kostenlos bekommen.

Weitere Informationen finden Sie in den Verwaltungsdokumenten: http://docs.djangoproject.com/en/dev/ref/contrib/admin/

2voto

Andy Baker Punkte 20369

Hier finden Sie eine Basisvorlage für den Anfang:

    {% extends "admin/base_site.html" %}
    {% load adminmedia %}

    {% block extrahead %}
    {% endblock %}
    {% block coltype %}flex{% endblock %}
    {% block bodyclass %}change-list{% endblock %}
    {% block stylesheet %}{% admin_media_prefix %}css/changelists.css{% endblock %}
    {% block extrastyle %}
    <link rel="stylesheet" type="text/css" href="{{settings.MEDIA_URL}}/stylesheets/extra_admin.css" />
    {% endblock %}
    {% block breadcrumbs %}<div class="breadcrumbs"><a href="http://stackoverflow.com/admin/">Home</a>&nbsp;&rsaquo;&nbsp;{{page_title}}</div>{% endblock %}
    {% block content %}
    <div id="content-main">
        <h1>{{page_title}}</h1>
        {{page_content}}
    </div>
    {% endblock %}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X