04 maja 2007

Zaczynam z Django 2

Jedziemy dalej, zgodnie z tym co napisane na utworzonej wcześniej (http://piotrbla.blogspot.com/2007/05/zaczynam-z-django.html) stronie projektu. W pliku settings.py ustawiamy fragment dotyczący bazy danych (od DATABASE_ENGINE do DATABASE_PORT. Dwa ostatnie, na czas testów, można zostawić puste. Przy okazji warto zauważyć, że plik z ustawieniami to źródła w Pythonie, więc obowiązują wszystkie reguły języka. Dzięki temu piszemy też cały czas w jednym języku. Oprócz bazy danych ustawiam też dane administratora.

Po ustawieniu bazy danych generujemy pierwszą aplikację: ./manage.py startapp mbegin (na wygenerowanej stronie projektu: python mdjango/manage.py startapp [appname]). Powstaje katalog (u mnie mbegin) w którym są puste pliki dla modeli i widoków (models.py i views.py). Przy generacji mały problem z kodowaniem pliterek w nazwisku administratora, na razie odpuszczam (rezygnuje z pliterek), jak później będzie trzeba to zgłębię temat.

Kolejną rzeczą dającą szybkie efekty jest panel administratora (mały chwilowy przeskok do 6 rozdziału DB). W pliku settings.py w sekcji INSTALLED_APPS dodajemy wpis 'django.contrib.admin', później uruchamiamy ./manage.py syncdb (DB: python manage.py syncdb) co powoduje wygenerowanie tabel administracyjnych w bazie danych. Przy pytaniu o superusera warto od razu go utworzyć (później robi się to według DB przy pomocy skryptu /django/contrib/auth/create_superuser.py. Ja przy pomocy locate create_superuser.py znalazłem ten skrypt w następujących lokalizacjach:
/var/lib/python-support/python2.4/django/contrib/auth/create_superuser.py
/var/lib/python-support/python2.5/django/contrib/auth/create_superuser.py
/usr/share/python-support/python-django/django/contrib/auth/create_superuser.py


Według DB trzecim etapem generowania panelu jest dopisanie do pliku urls.py (w projekcie)
urlpatterns = patterns('',
(r'^admin/', include('django.contrib.admin.urls')),
)

a w moim przypadku było to odkomentowanie tej linijki w rzeczonym pliku. Próbuję sprawdzić, stwierdzam, że niepotrzebnie wcześniej restartowałem mini serwer (zmiany pojawiają się od razu po nagraniu pliku). Niestety (jednak to jakoś przeżyję) nowe zmiany spowodowały, że dotychczasowa strona główna zgłasza błąd (w tym miejscu warto zauważyć, że wszystkie komunikaty o Django jakie do tej pory widziałem prowadziły do rozwiązania). Działa natomiast podstrona /admin
http://localhost:8080/admin/ logujemy się, i ukazuje się w pełni GOTOWA estetyczna strona administracyjna, z możliwościami przeglądania i filtrowania danych, dodawania grup, użytkowników itp. Innymi słowy, coś co powinno być wszędzie.

Podstawy zarządzania użytkownikami mam całkowicie z głowy, co w porównaniu z innymi frameworkami znowu wygląda obiecująco.

Brak komentarzy: