IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Django přepsání admin dashboardu

Aktivity
Avatar
Marty
Člen
Avatar
Marty:15.6.2020 1:27

Ahoj,

potřeboval bych si na hlavní stránku, kde se vypisují všechny moduly, posílat nějaké dodatečné infomace navíc do proměnné app_list (např. změnit si pořadí modulů, rozdělit je do skupin, přidat k nim ikony atd.), takže musím přepsat defaultní AdminSite.

Zkusil jsem: Připravil jsem si vlastní třídu:

class MyAdminSite(AdminSite):
    def index(self, request, extra_content=None):
        ...
        return super(MyAdminSite, self). index(request, extra_content)

admin_site = AdminSite(name="my_admin")
admin_site.register(Generation, GenerationAdmin)
...

Registroval jsem všechny modely v tom pořadí, v jakém bych je chtěl pak mít na stránce, ale automaticky se to řadí podle abecedy.

Chci docílit: Mohl byste mi, prosím, někdo ukázat jakým způsobem v tom indexu pracovat s těmi moduly? Jak už jsem psal, potřeboval bych změnit pořadí a přidat novou vlastnost ikonu, abych k tomu pak mohl přistupovat u výpisu na stránce v app_list proměnné.

Díky.

Editováno 15.6.2020 1:27
 
Odpovědět
15.6.2020 1:27
Avatar
Filip Němeček
Tvůrce
Avatar
Filip Němeček:16.6.2020 9:14

Skoro si říkám, jestli by nebylo lepší udělat si celou tu stránku sám a z ní se odkazovat na další části adminu? Django admin je hodně mocný nástroj, ale customizace není vůbec triviální věc a co jsem tak odpozoroval, tak se ani kromě základů moc nedoporučuje.

Dále existují také hotová témata pro admin, která by třeba něco takového mohla obsahovat.

Jinak tohle je fajn free ebook o customizaci adminu - https://books.agiliq.com/…k/en/latest/

 
Nahoru Odpovědět
16.6.2020 9:14
Avatar
Marty
Člen
Avatar
Odpovídá na Filip Němeček
Marty:16.6.2020 21:39

Jo, jo, to jsem dnes zjistil, že to není taková sranda. Nicméně jsem našel opravdu jednoduché řešení pro roztřídění položek - upravení Meta informace o plurálu každého modelu.
Pak se stačí v templatu ve for cyklu ptát na index a podle toho přidávat třídy k elementům, kde jsem si pohrál s CSS a víceméně jsem docílil toho, co jsem potřeboval.

Každopádně díky za odpověď. :-)

 
Nahoru Odpovědět
16.6.2020 21:39
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.