Usprawniamy panel admina za pomocą grappelli i filebrowser

Grappelli to alternatywna ładna skórka dla panelu admina oraz dodatkowe poręczne elementy interfejsu. Można ją szybko zainstalować w projektach Django 1.1.1 lub nowszych:
grappelli
  • Pobieramy kod grappelli i umieszczamy go gdzieś w PYTHONPATH (np. w katalogu projektu):
    svn checkout http://django-grappelli.googlecode.com/svn/trunk/grappelli/ grappelli
  • Dodajemy aplikację 'grappelli' do INSTALLED_APPS w settings.py
  • Upewnij się że w settings.py podane są te dwa TEMPLATE_CONTEXT_PROCESSORS:
    TEMPLATE_CONTEXT_PROCESSORS = (
        "django.core.context_processors.auth",
        "django.core.context_processors.request",
    )
  • Dodaj definicję URLi dla grappelli:
    (r'^grappelli/', include('grappelli.urls')),
  • Przejrzyj grappelli/settings.py i zmodyfikuj ustawienia jeżeli trzeba
  • Stwórz tabele aplikacji wykonując:
    python manage.py syncdb
  • Opcjonalnie możesz załadować podstawowe ustawienia i dane:
    python manage.py loaddata grappelli_navigation.json --settings=settings
    python manage.py loaddata grappelli_help.json --settings=settings
  • Na koniec należy dodać /media/ grappelli do katalog /media/ Django używanego przez Panel Admina. Najprościej będzie skopiować zawartość, np:
    cp -R /path/to/grappelli/media/* /ścieżda/do/django/contrib/admin/media
Grappelli zostało zainstalowane i po wejściu na Panel Admina powinniśmy zobaczyć nową skórkę.

django-filebrowser to dodatkowa aplikacja współpracująca m.in. z grappelli. Dodaje ona do Panelu Admina menedżer plików:
filebrowser
  • Pobieramy kod filebrowser i umieszczamy go gdzieś w PYTHONPATH (np. w katalogu projektu):
    svn checkout http://django-filebrowser.googlecode.com/svn/trunk/filebrowser/ filebrowser
  • Skopiuj katalog filemanager/media/filemanager do katalogu ze statyką twojego projektu (np. /site_media)
  • Dodaj filebrowser do INSTALLED_APPS.
  • Dodaj definicję URLi w urls.py przed definicją dla /admin:
    (r'^admin/filebrowser/', include('filebrowser.urls')),
  • Edytuj filebrowser/settings.py i ustaw:
    • DIRECTORY: ścieżka do głównego katalogu na przesłane pliki, np. "../site_media/uploads/" (z jakiś powodów jest to ścieżka względna)
    • URL_FILEBROWSER_MEDIA: URL do katalogu statyki filebrowsera, np. "site_media/filebrowser/"
Filebrowser powinien działać pozwalając na tworzenie katalogów, przesyłanie i podgląd plików. Jeżeli występują problemy to zapewne wynikają z błędnie ustawionych ścieżek. Dokładny opis opcji znajduje się na stronie projektu.
RkBlog

Django, 16 May 2010

Comment article
Comment article RkBlog main page Search RSS Contact