FastNetMon

Saturday 13 March 2010

Pylons: подключение ToscaWidgets к Pylons для работы с формами

Есть вот такая обалденная штука: http://toscawidgets.org/ К ней прилагается куча готовых виджетов, их можете найти здесь: http://pypi.python.org/pypi?:action=search&term=tw&submit=search

Ставим сам ToscaWidgets:

easy_install ToscaWidgets


Ставим виджет работы с формами (к слову, есть еще tw.dynforms, но о нем, думаю, позже):

easy_install tw.forms


Далее двигаемся по инструкции по интеграции ToscaWidgets с Pylons: http://toscawidgets.org/documentation/ToscaWidgets/install/pylons_app.html

Открываем настройки middleware:
vi myapp/config/middleware.py


Добавляем в самый верх:
import tw.api as twa


Далее после строки "CUSTOM MIDDLEWARE HERE" добавляем следующее:

app = twa.make_middleware(app, {
'toscawidgets.framework': 'pylons',
'toscawidgets.framework.default_view': 'mako',
})



Теперь открываем контроллер:
vu myapp/controllers/main.py


И в самый верх добавляем подключение виджета:

import tw.forms as twf


И внизу добавляем еще тестовый метод:

def tosca(self):
test_form = twf.TableForm('test_form', action='/main/tosca_save', children=[
twf.HiddenField('id'),
twf.TextField('title'),
twf.TextField('year', size=4),
twf.CalendarDatePicker('release_date'),
twf.SingleSelectField('genera', options=['', 'Action', 'Comedy', 'Other']),
twf.TextArea('description'),
])

return test_form()


И теперь вызываем со сети наш контроллер: http://xx.xx.xx.xx:5000/main/tosca и любуемся довольно миловидными формочками :)

No comments :

Post a Comment

Note: only a member of this blog may post a comment.