Admin Interface
Introduction
Ak chceme vytvoriť admin rozhranie pre ktorýkoľvek z našich modelov, môžeme tak urobiť v súbore admin.py
našej aplikácie.
The Basic Admin View
Ak chceme používať admin rozhranie pre naše modely, potrebujeme ho zaregistrovať pomocou volania metódy admin.site.register(Model)
Zaregistrujeme teda všetky naše modely.
from django.contrib import admin
# Register your models here.
from account.models import Account, Client, Transaction
admin.site.register(Account)
admin.site.register(Client)
admin.site.register(Transaction)
Aktuálne môžeme spustiť webserver a prihlásiť sa do admin rozhrania na adrese http://localhost:8000/admin
$ ./manage.py runserver
Defining Own Admin View
Keď sa pozrieme na ktorýkoľvek model a na to, čo sa o jednotlivých jeho inštanciách zobrazuje, dôjdeme k tomu, že je to reťazcová reprezentácia objektu - teda sa volá metóda __str__()
To sa však dá zmeniť tým, že si vytvoríme vlastnú triedu v súbore admin.py
, pomocou ktorej opíšeme to, ako sa budú jednotlivé modely zobrazovať. Vyskúšame si to na modeli Transaction
, pre ktorý vytvoríme triedu AdminTransaction
, ktorá bude potomkom tiredy ModelAdmin
class AdminTransaction(admin.ModelAdmin):
pass
Následne upravíme aj registráciu tohto modelu
admin.site.register(Transaction, AdminTransaction)
Podobným spôsobom vytvoríme admin triedy aj pre ostatné modely:
class AdminClient(admin.ModelAdmin):
pass
class AdminAccount(admin.ModelAdmin):
pass
admin.site.register(Client, AdminClient)
admin.site.register(Account, AdminAccount)
Fields to Show
list_display = ('fiel1', 'field2', 'field3',)