2016-07-05 12 views
0

Ich habe ausführlich gelesen, wie man die Admin-Seite von Django ändert. Ich habe es meistens herausgefunden - denke ich. Es gibt jedoch noch einige Dinge, die mir in meinem Verständnis entgehen. Ich verwende die standardmäßigen registrierten Admin-URLs. also sind sie nicht angepasst, nur was automatisch belichtet wird.Ändern der Listenansicht des Django Admin-Portals

Der einfachste Weg, zu erklären dies durch Bildsprache ist ...

Hier ist, was ich habe: original admin layout

Hier ist, was ich will: enter image description here

Ich bin die Veränderungen ziemlich sicher, sollte sei ziemlich einfach. Aber ich weiß nicht genau, welches Modell ich ändern und Template anpassen soll, damit es so aussieht, wie ich es möchte. Die [Nummer] - [Name] sind Felder in meinem Modell.

Ich habe andere Teile der Admin-Oberfläche erweitert, um benutzerdefinierte Formulare zum Bearbeiten bestimmter Elemente zu erhalten - indem ich mein Modell anmelde und das Feld dafür anpasse.

@admin.register(Course) 
class CourseAdmin(admin.ModelAdmin): 
    form = CourseAdminForm 

    fieldsets = (
     ('Course Info:', {'fields': ('course_number', 'name', 'description', 'units')}), 
     ('Load Info:', {'fields': ('lecture_hours', 'lab_hours', 'discussion_hours', 'work_hours')}) 
    ) 

in meiner app/admin.py Datei.

Ich bin ein wenig verwirrt, weil es technisch kein Modell gibt, sich hier zu registrieren. Also bin ich mir nicht 100% sicher, wie ich das machen soll. Umgehe ich jede meiner Modifikationen innerhalb der CourseAdmin Klasse als verschiedene Klassen/Methoden mit registrierten URLs oder gibt es eine andere Möglichkeit, dies zu tun?

Antwort

1

Sie benötigen Course Modellklasse bearbeiten:

# models.py 
class Course(models.Model): 

    # fields here 
    name = ... 
    # ... 

    # add a unicode method 
    # __str__ method if you are using python 3.x 
    def unicode(self): 
     return '%s - %s' % (self.pk, self.name) 
+0

Das funktionierte. Habe ich das in der Dokumentation vermisst oder so? – lilott8

+1

@ lilott8 Sie finden die Dokumentation hier -> https://docs.djangoproject.com/de/1.8/ref/models/instances/#unicode – Gocht

+0

Vielen Dank. Ich hätte nicht gedacht, die Dokumentation der Modelle zu betrachten, um Änderungen im Adminbereich zu beeinflussen. Ich schätze die Antwort und die Dokumentation. – lilott8