Pylons jak zacząć ?
Gdy rozpoczynałem moją przygodę z Pylons, było dość ciężko. Framework ten wydawał mi się bardzo skomplikowany, dodatkowo mało było materiałów których można było szukać pomocy. Dodatkowo brakowało publikacji w ojczystym języku. Dlatego postanowiłem napisać ten wpis, oraz kilka następnych w celu pomocy innym.
Na początek warto wyjaśnić ważną kwestię.Pylons jest specyficznych frameworkiem, gdyż składa się on z wielu niezależnych komponentów, dostarczanych przez różne „organizacje”. Komponenty te można bez problemowo wymieniać w razie potrzeby.
Przykład domyślnym systemem szablonów jest mako, jednak bez problemy możemy zmienić system szablonów na genshi lub jinja2.
Instalacja
Sposobów instalacji Pylons jest wiele, można skorzystać z virtualenv (polecam) lub porostu zainstalować sobie paczkę Pylons z repozytorium swojej dystrybucji. Na Windowsie można to zrobić wykorzystując zwykłego instalatora.
Dodatko by ułatwić sobie późniejszą pracę z paster shell, warto zainstalować nakładkę na tryb interaktywny – ipython. Dzięki niej mamy do dyspozycji podpowiadania składni oraz wiele innych przydatnych ficzerów.
Dla osób które dopiero zaczynają swoją przygodę z Pythone: Pylons, ma swój własny serwer developerski, nie trzeba instalować żadnych dodatkowych modułów do apache, etc.
Start!
Gdy już poradzimy sobie z instalizacją, czas najwyższy stworzyć własną aplikację. W tym celu skorzystamy z paster.
$ paster create --template=pylons aplikacja |
Zostaniemy zapytani o system szablonów z którego chcemy korzystać – polecam wybrać opcję domyślną – Mako. Następnie zapytani zostanie o to czy chcesz korzystać z sqlalchemy w naszej aplikacji (Wybieramy oczywiście True).
Paster utworzy katalog o nazwie „aplikacja” w którym znajduje się cały projekt.
Struktura katalogów
Zostaje utworzona taka struktura katalogów:
W podkatalogu „aplikacja” znajdują się najważniejsze rzeczy. Właściwie przez większość czasu będziemy tylko na nich pracować.
- config – environment.py – konfiguracja „środowiska”, middleware.py – konfiguracja middleware, a w pliku routing.py, rounting naszej aplikacji.
- controllers – Wszystkie kontrolery aplikacji, w innym wpisie opisałem jak tworzyć podział na moduły.
- lib – możemy umieszczać wszystkie dodatkowe biblioteki z których będziemy korzystać, w pliku helpers zdefiniowane są helpery naszej aplikacji które będą dostępne w szablonie.
- models – przechowywane są modele naszej aplikacji.
- public – katalogiem w którym znajdują się wszystkie pliki statyczne, odpowiada djangowemu site_media
- templates – katalog szablonów aplikacji
- tests – w tym katalogu trzymane są wszystkie testy jednostkowe
Dodatkowo w katalogu data znajduje się cache, oraz skompilowane szablony. W pliku development.ini trzymana jest konfiguracja środowiska testowe, gdy już będziemy publikować naszą aplikację zapewne utworzymy plik production.ini
Gdzie szukać pomocy ?
Dobrym źródłem wiedzy jest The Pylons Book . Warto również pamiętać że Pylons to zlepek informacji, dlatego pomocy możemy szukać w dokumentacji poszczególnych komponentów:
- SQLAlchemy – wrapper do bazy danych
- Mako – domyślny język szablonów
W następnym wpisie opiszę podstawy tworzenia aplikacji w Pylons.
Preview: