Django Admin – Indstil felter til visning
I Django-administrationen er der en række indstillinger, der kan tilpasses for at gøre arbejdet med administrationssiden mere effektiv. En af disse indstillinger er evnen til at indstille, hvilke felter der skal vises for hvert modelobjekt i listen og detaljesiden. Dette er nyttigt, når der arbejdes med komplekse modeller, hvor kun visse felter er relevante i visse scenarier. I denne artikel vil vi udforske metoderne til at indstille felter til visning i Django-administrationen og give eksempler på brugen af disse indstillinger.
Standardvisning af felter
Når vi opretter en Django-model og registrerer den i administrationssiden, vil Django som standard vise alle felterne for hver model i listen og detaljesiden. Dette kan være praktisk i mange tilfælde, men det kan også føre til et rodet interface, hvis modellen har mange felter eller nogle af felterne ikke er relevante for visningen. Derfor er det vigtigt at kunne tilpasse visningen af felterne efter behov.
Indstilling af felter til visning i listen
En måde at indstille felter til visning på er at ændrelist_display
-attributten i den tilhørende admin-klasse.list_display
er en liste af modellens felter, der skal vises i listen. Dette kan være en kombination af felter og metoder, der returnerer en værdi baseret på modelobjektets data. Ved at ændrelist_display
kan vi skræddersy visningen af felterne for vores model.
class MyModelAdmin(admin.ModelAdmin):
list_display = (field1, field2, custom_method)def custom_method(self, obj):
return obj.field1 + obj.field2admin.site.register(MyModel, MyModelAdmin)
I ovenstående kodeeksempel har vi oprettet en admin-klasse for voresMyModel
og indstilletlist_display
til at visefield1
,field2
og resultatet afcustom_method
. Vi brugercustom_method
til at kombinere værdierne affield1
ogfield2
på en brugertilpasset måde. Dette giver os mulighed for at tilføje kompleks funktionalitet til visningen af vores felter. Ved at ændrelist_display
kan vi tilføje eller fjerne felter eller metoder, der skal vises i listen.
Indstilling af felter til visning på detaljesiden
På samme måde som vi kan ændre visningen af felter i listen, kan vi også ændre visningen af felter på detaljesiden ved hjælp affields
-attributten i admin-klasse.fields
er en liste af felter, der skal vises på detaljesiden i den rækkefølge, de er angivet i listen. Ved hjælp affields
-attributten kan vi tilpasse visningen af felterne for vores model på detaljesiden.
class MyModelAdmin(admin.ModelAdmin):
fields = (field1, field2, field3)admin.site.register(MyModel, MyModelAdmin)
I ovenstående eksempel har vi ændretfields
-attributten for vores admin-klasse til at visefield1
,field2
ogfield3
på detaljesiden. Listen definerer den rækkefølge, hvori felterne vises i brugergrænsefladen. Ved at ændrefields
kan vi tilføje, fjerne eller omarrangere felterne, der skal vises på detaljesiden.
Indstilling af felter til visning i redigeringsskærmen
I nogle tilfælde kan det være nødvendigt at have en anden visning af felterne i redigeringsskærmen end på detaljesiden. Dette kan opnås ved at brugefieldsets
-attributten i admin-klasse.fieldsets
er en liste af tupler, hvor hver tuple indeholder en overskrift og en dictionary med felter, der hører til overskriften. Ved hjælp affieldsets
kan vi opdele felterne i logiske grupper for en mere struktureret visning.
class MyModelAdmin(admin.ModelAdmin):
fieldsets = (
(Group 1, {fields: (field1, field2) }),
(Group 2, {fields: (field3, field4) })
)admin.site.register(MyModel, MyModelAdmin)
I ovenstående kodeeksempel har vi delt felterne for vores model op i to grupper: Group 1 og Group 2. Group 1 indeholder felternefield1
ogfield2
, mens Group 2 indeholder felternefield3
ogfield4
. Ved hjælp affieldsets
kan vi opnå en mere organiseret visning af felterne i redigeringsskærmen.
Konklusion
I denne artikel har vi udforsket, hvordan man indstiller felter til visning i Django-administrationen. Ved hjælp aflist_display
,fields
ogfieldsets
kan vi tilpasse visningen af felterne for vores modelobjekter i listen, detaljesiden og redigeringsskærmen. Dette giver os mulighed for at skabe en mere struktureret og brugervenlig administrationsside. Ved at udnytte disse indstillinger kan vi skræddersy Django-administrationen til vores specifikke behov og gøre vores arbejde mere effektivt.
Ofte stillede spørgsmål
Hvad er Django Admin?
Hvordan tilgår man Django Admin?
Hvad er formålet med at konfigurere fields til visning i Django Admin?
Hvordan konfigureres fields i Django Admin?
Hvad er forskellen mellem fields og fieldsets i Django Admin?
Hvad er standardværdien for fields i Django Admin?
Kan fields konfigureres til at vise felter fra relaterede modeller i Django Admin?
Kan fields konfigureres til at vise readonly felter i Django Admin?
Hvilken effekt har ændringen af fields på Django Admin-editoren?
Kan fields konfigureres dynamisk baseret på brugerens tilladelser i Django Admin?
Andre populære artikler: Python math.acos() Metode • HTML DOM Button disabled Property • VBScript String Function • Pandas DataFrame mod() Metode • Angular textarea Directive • W3Schools Data Science Bootcamp • Google Sheets Location Settings • Introduktion • Python Set update() Metode • PHP addslashes() Funktion • W3.CSS Reference • Window status Property • Angular form Directive • Python True Keyword • Location hash Property • W3Schools Python Bootcamp • Introduktion til HTML DOM Element childNodes Property • Sass Variables – En Dybdegående Guide til SCSS Variabler • SQL Server LEFT() Funktion • SVG Line