tzf.pyramid_routing
Fizyk przygotował paczkę, za pomocą której w wygodny sposób można wczytywać ścieżki we frameworku Pyramid ;).
Instalacja przez pip:
Github:
Struktura appki:
W pliku __init__.py aplikacji umieszczasz:
W pliku konfiguracyjnym np. w development.ini ustawiasz coś na wzór:
W katalogu routing, tworzysz 3 pliki: __init__.py, blog.py oraz user.py.
__init__.py
blog.py
user.py
Co to tak właściwie robi? Nazwa modułu mówi o tym jak ma wyglądać pierwszy parametr ścieżki url. Np. dla modułu __init__.py będą to:
Zmienna routes w modułach musi wskazywać na listę słowników, takich, która przyjmuje metoda pyramid.config.Configurator.add_route. Dokumentację paczki znajdziesz tutaj.
Instalacja przez pip:
pip install tzf.pyramid_routing
Github:
git clone https://github.com/fizyk/pyramid_routing.git cd pyramid_routing python setup.py install
Dodawanie ścieżek
Załóżmy, że tworzysz jakąś prostą appkę, gdzie za pomocą urla, chcesz zobaczyć profil jakiegoś użytkownika, statystyki (ogólne, jak i dla każdego usera z osobna) oraz prosty blog. Link do appki to: http://localhost:6543.Struktura appki:
/my_app lib/ routing/ __init__.py blog.py user.py views/ __init__.py __init__.py development.ini
W pliku __init__.py aplikacji umieszczasz:
config.include('tzf.pyramid_routing')
W pliku konfiguracyjnym np. w development.ini ustawiasz coś na wzór:
routing_package = my_app.lib.routinggdzie my_app to nazwa aplikacji, a reszta to ścieżka do katalogu, gdzie będzie cały Twój routing.
W katalogu routing, tworzysz 3 pliki: __init__.py, blog.py oraz user.py.
__init__.py
routes = [ dict(name='index', pattern='/'), dict(name='statistics', pattern="/statistics"), ]
blog.py
routes = [ dict(name='blog:index', pattern='/'), dict(name='blog:post', pattern="/post/{\d+}"), ]
user.py
routes = [ dict(name='user:index', pattern='/{name}'), dict(name='user:statistics', pattern="/{name}/statistics"), ]
Co to tak właściwie robi? Nazwa modułu mówi o tym jak ma wyglądać pierwszy parametr ścieżki url. Np. dla modułu __init__.py będą to:
- http://localhost:6543
- http://localhost:6543/statistics
dla modułu blog.py:
- http://localhost:6543/blog/
- http://localhost:6543/blog/post/785
i dla modułu user.py:
- http://localhost:6543/user/sromek
- http://localhost:6543/user/sromek/statistics
Zmienna routes w modułach musi wskazywać na listę słowników, takich, która przyjmuje metoda pyramid.config.Configurator.add_route. Dokumentację paczki znajdziesz tutaj.
Comments
Post a Comment