Seite 1 von 1

Django-Admin-Interface / Model untergliedern

Verfasst: Donnerstag 4. September 2008, 09:48
von ferix
Hallo,

kleine Frage zu dem Django-Admin-Interface in Verbindung mit Models:
Gibt es eine Möglichkeit das Hinzufügen eines Datensatzes von einem Model im Django-Admin Visuell zu untergliedern?
Rein zur besseren Übersicht, dass nicht alle Felder so untereinander geknallt sind.

So in etwa wie hier:
http://sehmaschine.net/media/filebrowser/fb_4.jpg

Hier hat man zum Beispiel die Unterteilung in Status, Übersicht, ...

Wäre über Hilfe dankbar!

Verfasst: Donnerstag 4. September 2008, 09:59
von apollo13

Verfasst: Donnerstag 4. September 2008, 10:19
von ferix
Danke, aber irgendwie will das nicht so ganz. Ich stehe da etwas auf dem schlauch wie ich das Ganze angehen soll.

Hier mein bisheriges Model:

Code: Alles auswählen

#-*- coding: utf-8; -*-

# Imports von Django
from django.db import models  
from django.contrib import admin  


# Choices für Visible
CHOICES = (
    ('Y', 'Ja '),
    ('N', 'Nein'),
)
    
# Model Mainpages
class Mainpages(models.Model):
    linktitel = models.CharField(max_length=30)
    url = models.CharField(max_length=30)
    sichtbar = models.CharField(max_length=1, choices=CHOICES, radio_admin=True)
    reihenfolge = models.IntegerField()
    farbe = models.CharField(max_length=20, blank=True)
    seitentitel = models.CharField(max_length=100, blank=True)
    beschreibung = models.CharField(max_length=100, blank=True)
    schlagworte = models.CharField(max_length=100, blank=True)
    ueberschrift = models.CharField(max_length=100, blank=True)
    text = models.TextField(blank=True)

    # Einstellungen für Admin-System
    def __unicode__(self):
        return u"%s" % (self.linktitel)
		
    class Meta:
        verbose_name = "Hauptseite"
        verbose_name_plural = "Hauptseiten"

    class Admin:
        list_display = ('linktitel', 'url', 'reihenfolge', 'sichtbar', )
        js = (
                '/media/tiny_mce/tiny_mce.js',
                '/media/tiny_mce/CustomTinyMCE.js',
            )
        ordering = ('reihenfolge', 'sichtbar', )
Wollte das fieldset jetzt unter Class Admin anlegen aber das funktioniert nicht!?!?

Andere Frage wie bekomme ich zum Beispiel ueberschrift im Admin-Interface als Überschrift (also mit Umlaut) angezeigt?

Verfasst: Donnerstag 4. September 2008, 10:31
von Leonidas
Es sollte sich inzwischen rumgesprochen haben, dass eingebettete Admin-Klassen seit mehreren Wochen durch freie Klassen in ``admin.py``-Dateien ersetzt wurden. Also kann das gar nicht funktionieren, da der Admin sich die eingesetzten Admin-Klassen gar nicht ansieht.

Verfasst: Donnerstag 4. September 2008, 10:35
von ferix
Verstehe ich es richtig, dass du damit meinst, dass dieses hier so nicht mehr verwendet werden kann!?!?

Code: Alles auswählen

    class Admin:
        list_display = ('linktitel', 'url', 'reihenfolge', 'sichtbar', )
        js = (
                '/media/tiny_mce/tiny_mce.js',
                '/media/tiny_mce/CustomTinyMCE.js',
            )
        ordering = ('reihenfolge', 'sichtbar', )
Entschuldige ich bin relativ neu in Django und habe im Juni das lettze Mal daran gearbeitet.
Seither gab es wohl einige Änderungen!?!?

Gibt es eine Seite, die du empfiehlst um sich auf dem laufenden zu halten???

Verfasst: Donnerstag 4. September 2008, 10:48
von Leonidas
ferix hat geschrieben:Gibt es eine Seite, die du empfiehlst um sich auf dem laufenden zu halten???
Für dich wäre das Porting your apps from Django 0.96 to 1.0 (1.0 RC wurde vorgestern released, 1.0 gestern).
Generelle Informationen gibt es hingegen auf der Seite Backwards-incompatible changes, die laufend erweitert wird.

D.h. wurde, denn in der nächsten Zeit erwarte ich eigentlich keine weiteren Inkompatiblen Änderungen.

Verfasst: Donnerstag 4. September 2008, 11:37
von ferix
Suuuper vielen dank hab meine Django-Version upgedatet und den Code so verändert, dass nun alles funzt. Jetzt kann es an die Fieldsets gehen :)

Aber wie das mit den Umlauten (Frage oben) gehen soll da komm ich nicht drauf :(

Kann da noch jemand helfen?

P.S. Die Django-Seite ist aber echt gut. Auch wenn man viel lesen muss, was man in diesem Falle gerne macht, findet man doch fast alles.

Verfasst: Donnerstag 4. September 2008, 11:41
von Leonidas
ferix hat geschrieben:Aber wie das mit den Umlauten (Frage oben) gehen soll da komm ich nicht drauf :(
Um ehrlich zu sein, ist mir nicht ganz klar, was du da machen willst.

Verfasst: Donnerstag 4. September 2008, 11:45
von ferix
Na im Model wird zum Beispiel ein Feld definiert:

ueberschrift = models.CharField(max_length=100, blank=True)

Aber im Admin-Feld hätte ich es gerne als "Überschrift" dargestellt mit Umlaut.



Wie kann man eigentlich im Admin-Interface diese kleine in grau geschriebenen Hinweise zu einzelnen Feldern erstellen, die man auf Screenshots so häufig sieht?

Verfasst: Donnerstag 4. September 2008, 13:12
von ferix
Ok das mit dem Hilfetext habe ich hinbekommen.
Bleibt immer noch die Frage mit den Umlauten.

Verfasst: Donnerstag 4. September 2008, 18:58
von apollo13

Code: Alles auswählen

ueberschrift = models.CharField(u"Überschrift", max_length=100, blank=True) 
Btw, docs und tutorial lesen hilft viel....

Verfasst: Freitag 5. September 2008, 11:09
von ferix
Super vielen Dank.

Ich habe gestern den ganze Tag Doc gelesen und damit einiges selbst geschafft zu lösen, gerade nach der Umstellung auf 1.0

Aber das hab ich einfach nicht gefunden. Wo steht das denn? :)

Verfasst: Freitag 5. September 2008, 16:50
von apollo13