2009-09-17 18 views
10

Versuchen, Django Admin ein bisschen besser zu verstehen, aber ich finde die Django-Dokumentation ein bisschen fehlt manchmal (oder vielleicht meine Fähigkeit zu verstehen).Django Admin Fieldsets

Ich weiß, dass Sie Feldgruppen verwenden können, um das Layout bestimmter Admin-Seiten zu steuern. Was ich nicht verstehen kann, ist, was die Fieldset-Namen sind.

Wenn ich die folgende Klasse haben

Class Demo(model.Model): 
    name = models.CharField(max_length=150) 
    address = models.CharField(max_length=150) 
    city = models.CharField(max_length=50) 
    zip = models.CharField(max_length=15) 

und und Admin Klasse wie die folgende

Class DemoAdmin(admin.ModelAdmin): 
    list_display = ('name', 'City') 

In diesem, wenn auch erfundene Beispiel, was möglich Fieldset könnte ich verwenden?

+0

Sie möchten wahrscheinlich ein komplexeres Modell, bevor Sie die Feldsets verlassen. Persönlich finde ich die Dokumentation von Fieldsets ziemlich gut: http://docs.djangoproject.com/de/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.fieldsets –

+0

Ich stimme zu, es wäre geeigneter mit einem komplexeren Modell. Das ist nicht mein aktuelles Modell. Wie für die Dokumentation .. Ich konnte nichts finden, was Ihnen tatsächlich sagt, was die Fieldset-Namen sind .. d. H. Werden alle Variablennamen Fieldset-Namen .. Was sind die "Buitl-in" Fieldsets genannt? – Consiglieri

+0

Ich denke, Sie haben missverstanden, was Fieldsets sind. Es ist nur eine Möglichkeit für Sie, die Felder auf einer Modell-Admin-Seite zu gruppieren. Implementieren Sie einfach das Beispiel in der Dokumentation und es sollte für Sie sichtbar werden. – orwellian

Antwort

26

Versuchen Sie dies, und Sie werden bald sehen, wie es aussieht/funktioniert.

class DemoAdmin(admin.ModelAdmin): 
    list_display = ('name', 'city') 
    fieldsets = (
     ('Standard info', { 
      'fields': ('name') 
     }), 
     ('Address info', { 
      'fields': ('address', ('city', 'zip')) 
     }), 
    ) 

Wenn Sie zum Wechsel-Seite gehen zu bearbeiten, werden Sie ein Feld „Standard-Info“ mit dem Namen-Box. Und Sie erhalten eine andere Box, die "Adress-Info" mit dem Adressfeld zuerst, und dann die Stadt und Zip-Felder in der gleichen Zeile nach sagt.

+0

Danke, wir haben einen Wirbel! – Consiglieri

+3

@Consiglieri Wenn es funktioniert, ist es normal, auf die Schaltfläche "akzeptierte Antwort" zu klicken :) –