Chciałbym przy pomocy django zrealizować jeden mały, ciekawy i innowacyjny projekt, o którym myślę od dawna. Jak django będzie współpracował, to czekają już kolejne pomysły.
Taka ciekawostka: przy okazji rozmowy o django, wyszedł jak zwykle problem wymowy. Dobrze poinformowane źródła mówią, że mówi się dżangoh (bezdźwięczne d, oh przechodzące w oł ;) ).
Jako towarzysza wędrówki wybrałem: DjangoBook, rozwiązań problemów będę poszukiwał najpierw w tej dostepnej na licencji GNU książce. Na chwilę obecną jeszcze nie wszystkie jej rozdziały są napisane (większość jest), więc czasami trzeba będzie wesprzeć się wyszukiwarką.
Zestaw startowy już mam: Linux (Ubuntu DD->EE->FF), Python, Django, Mysql. Wszystko do znalezienia w synapticu. Oczywiście można używać django z innymi popularnymi bazami danych (jak i bez żadnej bazy, co też kiedyś zweryfikuje). W DjangoBooku (dalej DB) piszą, żeby sprawdzić czy ma się mysql-python, ja mam w Ubuntu python-mysqldb i wygląda, że to właśnie ten pakiet. Dodatkowo oczywiście warto sprawdzić czy działa phpmyadmin (niestety, na chwilę obecną pod Linuksa brak IMHO lepszego narzędzia, można jeszcze z kexi próbować).
Warto wspomnieć przy okazji o mojej znajomości Pythona. Napisałem kilka (naprawdę kilka) skryptów (wielkości, jak ja to mówie, ekranu). Trochę czytałem o języku (w tym jedną średniej wielkości książkę), interesuje się nim od dawna. Zawodowo programowałem jednak zawsze w innych językach. To co _mi_ w Pythonie podoba się najbardziej to załączone bateryjki i wymuszanie wcięć (jak ktoś poprowadzi zajęcia z programowania dla poczatkujących w jakimkolwiek języku C-podobnym, to będzie wiedział, dlaczego to jest plus języka). Znajomość Django: słyszałem, że dobry i nic więcej. Czyli: Python 4/10, Django 1/10.
Bazę danych do mojego projektu mam juz prawie gotową, więc raczej nie będę się nad nią specjalnie pochylał.
Na początek w terminalu przechodzimy do swojego katalogu ze stronami (u mnie public_html i piszemy:
django-admin startproject mdjango
(w DB piszą: django-admin.py startproject mysite
, ale instalacja django z pakietu dodała gdzieś elegancko skrypt i wie, że to pythonem się uruchamia). Z tego co na chwilę obecną wiem, Django może przechowywać kilka aplikacji w jednym projekcie.Projekt przechowuje ustawienia bazy danych, opcji Django i aplikacji.
Powstają następujące pliki:
__init__.py, manage.py, settings.py, urls.py
.Jak będą potrzebne to napiszę do czego służą.
Tak powstałą stronę można od razu sprawdzić przy pomocy wbudowanego mini serwera http. Wystarczy go uruchomić (w katalogu mdjango):
./manage.py runserver
(znowu DB podaje dłuższą wersję: python manage.py runserver
). Ja akurat mam domyślny port (8000) zajęty, więc dostaje błąd: Error: That port is already in use. Port zmienia się trywalnie: ./manage.py runserver 8080
(DB: python manage.py runserver 8080
). Po wejściu na http://localhost:8080/ widzimy od razu działającą stronę projektu ze wskazówkami. Czas na pierwszą ocenę: z kilku przeze mnie wypróbowanych frameworków (w tym RoR i CakePHP) Django na tym etapie wygrywa, czas dojścia do tego punktu był po prostu najkrótszy.
1 komentarz:
Django i python rządzą ;-)
Pozdrawiam
Prześlij komentarz