Interfejs Django Admin od kuchni :)

Autor: nme · środa, 8 Wrzesień, 2010 · Brak komentarzy ·

W poprzednim wpisie opowiedziałem o tym, jak dzień po dniu, w dwa i pół tygodnia zrealizowałem startup — serwis z przepisami. Wspomniałem również, że przybliżę jak serwis wygląda "od kuchni" :)

Nie mam ostatnio zbyt wiele czasu ponieważ kończę jeden projekt, o którym już niebawem napiszę, ale jako, że nie rzucam słów na wiatr — chciałbym Wam dzisiaj przedstawić jak wygląda interfejs Django Admin aplikacji w serwisie kuchnia.chwila-dla-siebie.pl.

Myślę, że ten wpis może być pomocny dla osób, które omijają Django Admina tworząc własne interfejsy administracyjne z obawy, że niektórych rzeczy w tym interfejsie nie będą w stanie zrealizować.

Zmiany kodzie startupu

Od poprzedniego wpisu wprowadziłem w kodzie aplikacji trzy proste zmiany:

  • dodałem dodatkowe widgety z Facebooka i zrównolegliłem ich wyświetlanie (obecnie ładowane są przez JavaScript, kiedy content na stronie jest już gotowy przez przeglądarkę do wyrenderowania)
  • w Django Adminie dodałem podgląd przepisów na podstronie z listą przepisów
  • wyszukiwanie przepisów jest obecnie cache'owane za pośrednictwem memcache'a — dzięki temu jedynie pierwsze wyszukanie konkretnej frazy trwa dłuższy czas — następnie w trakcie stosowania pagera wykorzystywany jest cache. Czas renderowania stron przez aplikację po stronie serwera spadł dzięki temu o 700%

Box administratorów

Zalogowany użytkownik ma dostępne na stronie box ze skrótami. Jeśli użytkownik jest superuserem, skrótów jest o jeden więcej, ponieważ aplikacja ma zaimplementowane dwie instancje Django Admina — podstawową — do obsługi przepisów oraz dodatkową — do administracji użytkownikami z dostępem do historii przepisów. Członkowie zespołu mają też domyślnie ukryte reklamy.

Panel superadmina

Na stronie Django Admin dla superusera, dostępu do przepisów de facto nie ma, są natomiast pozycje umożliwiające analizę historii zmian w przepisach, dodawanie i edycję newsów oraz użytkowników. Widoczne są tu również statystyki memcache'owania wyników wyszukiwania.

Historia modyfikacji przepisów

Bardzo wygodny interfejs, którego tworzenie dostarczyło mi bardzo dużo dobrej zabawy. Właśnie w takich sytuacjach Django pokazuje jak wiele ma developerowi do zaoferowania.

Podstawowy Django Admin

Interfejs dla zwykłych użytkowników, mających status staff został przedstawiony poniżej. Tworzyłem go tak, aby członkowie zespołu mieli dostępne skróty do najpotrzebniejszych filtrów. Dzięki temu nie jest potrzebne żmudne ich wyklikiwanie. Podstawowy filtr (niezweryfikowanych przepisów) jest z tego co pamiętam niemożliwy do wyklikania :)

Kategorie

Zarządzanie kategoriami z wyliczaniem ile przepisów procentowo zostało już zweryfikowanych:

Przepisy

Interfejs do obsługi przepisów zrealizowałem w następujący sposób:

Edycja przepisu

Edycja konkretnego przepisu — to co jest potrzebne jest widoczne na jednej, zwięzłej stronie — nie ma potrzeby żadnego przewijania ekranu:

Podgląd przepisów

Jak wspomniałem wcześniej — podczas weryfikacji przepisów stwierdziłem, że przydałby się jeszcze jeden prosty ficzer — podgląd przepisu po najechaniu na linka. Zrealizowałem to w następujący sposób:

Mam nadzieję, że warto było na ten wpis chwilkę poczekać :) Zrealizowanie takiego interfejsu jaki przedstawiłem jest bardzo proste, a społeczność Django jest bardzo otwarta — większość z przedstawionych modyfikacji jest bardzo dokładnie opisana zarówno na stronach z dokumentacją na stronach dokumentacji djangoproject.com oraz na stackoverflow.com który jest skarbnicą rozwiązań ciekawych problemów.

Jeśli macie jakieś sugestie, pytania bądź uwagi — zapraszam do skomentowania wpisu!

Zostaw komentarz