Jul 04, 2012

pyramid_formalchemy

FormAlchemy это CRUD для SQLAlchemy. Для Pylons существовало расширение прямо в самом модуле в разделе ext. Для Pyramid создали отдельный пакет pyramid_formalchemy. Посмотрим как это работает:

Создаем проект:

$ pcreate -s alchemy -s pyramid_fa myapp

добавляем в проект файл forms.py:

forms.py
from formalchemy import FieldSet, Grid

структура файлов должна выглядеть так:

| |+static/
| |+templates/
| |-__init__.py
| |-faforms.py
| |-fainit.py
| |-faroutes.py
| |-forms.py
| |-models.py
| |-tests.py
| `-views.py

изменяем __init__.py:

__init__.py
from pyramid.config import Configurator
from sqlalchemy import engine_from_config

from .models import DBSession

def main(global_config, **settings):
    """ This function returns a Pyramid WSGI application.
    """
    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)
    config = Configurator(settings=settings)
    config.add_static_view('static', 'static', cache_max_age=3600)
    config.add_route('home', '/')
    config.scan()

    # pyramid_formalchemy's configuration
    config.include('pyramid_fanstatic')
    config.include('pyramid_formalchemy')
    config.include('fa.jquery')

    # register an admin UI
    config.formalchemy_admin('/admin', package='youAppName',
            view='fa.jquery.pyramid.ModelView')

 return config.make_wsgi_app()

Заходим в http://0.0.0.0:6543/admin/ и радуемся.

../../../_images/pyramid_formalchemy.png

Online демо находится здесь.


Comments

comments powered by Disqus