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