http://flask.pocoo.org/docs/0.10/patterns/jquery/
http://runnable.com/UiPhLHanceFYAAAP/how-to-perform-ajax-in-flask-for-python
вторник, 23 сентября 2014 г.
пятница, 12 сентября 2014 г.
Работаем с REST
Например, пишем своё апи и нужен некий стандарт, по которому будет взаимодействовать мир и наш апи. Раньше для этого использовали чистый XML и SOAP, сейчас всё более популярным становится rest-подход.
REST=REpresentational State Transfer
http://en.wikipedia.org/wiki/Representational_state_transfer
Много вопросов может вызывать, что передавать в заголовках, что в теле запроса.
Также нет чёткого разделения между PUT и POST, оба метода могут как добавлять записи, так и менять их. Тут совет такой: POST всегда добавляет запись, PUT добавляет если такой не было и меняет, если была. Это позволяет заново послать запрос, если нет уверенности в первом получении сервером, и это не должно вызывать дублей и ошибок.
Есть неплохое введение у Рея
Designing a RESTful API with Python and Flask
Writing a Javascript REST client
Designing a RESTful API using Flask-RESTful
Implementing a RESTful Web API with Python & Flask
Передавать данные имеет смысл в JSON
https://ru.wikipedia.org/wiki/JSON
Для работы rest_flask может быть еще полезно
библиотека flask-restful
http://www.slideshare.net/nicolaiarocci/developing-restful-web-apis-with-python-flask-and-mongodb
http://blog.luisrei.com/articles/flaskrest.html
Линки
http://www.infoq.com/articles/webber-rest-workflow
http://anton.shevchuk.name/php/create-restful-api/
QIWI и новый протокол REST в примерах
REST=REpresentational State Transfer
http://en.wikipedia.org/wiki/Representational_state_transfer
Много вопросов может вызывать, что передавать в заголовках, что в теле запроса.
Также нет чёткого разделения между PUT и POST, оба метода могут как добавлять записи, так и менять их. Тут совет такой: POST всегда добавляет запись, PUT добавляет если такой не было и меняет, если была. Это позволяет заново послать запрос, если нет уверенности в первом получении сервером, и это не должно вызывать дублей и ошибок.
Designing a RESTful API with Python and Flask
Writing a Javascript REST client
Designing a RESTful API using Flask-RESTful
Implementing a RESTful Web API with Python & Flask
Тут много интересного, в том числе замена POST-ом операций PUT и DELETE
Передавать данные имеет смысл в JSON
https://ru.wikipedia.org/wiki/JSON
Для работы rest_flask может быть еще полезно
библиотека flask-restful
http://www.slideshare.net/nicolaiarocci/developing-restful-web-apis-with-python-flask-and-mongodb
http://blog.luisrei.com/articles/flaskrest.html
Линки
http://www.infoq.com/articles/webber-rest-workflow
http://anton.shevchuk.name/php/create-restful-api/
QIWI и новый протокол REST в примерах
пятница, 29 августа 2014 г.
Разбираемся с OAuth2
http://tools.ietf.org/html/draft-ietf-oauth-v2
https://ru.wikipedia.org/wiki/OAuth
OAuth 2.0 — протокол авторизации, позволяющий выдать одному сервису (приложению) права на доступ к ресурсам пользователя на другом сервисе. Протокол избавляет от необходимости доверять приложению логин и пароль, а также позволяет выдавать ограниченный набор прав, а не все сразу.
OAuth 2.0 простым и понятным языком
OAuth: описание протокола простым и понятным языком
О недостатках
http://hueniverse.com/2012/07/26/oauth-2-0-and-the-road-to-hell/
И еще линки
http://api.yandex.ru/oauth/doc/dg/reference/web-client.xml
http://api.yandex.ru/oauth/doc/dg/reference/obtain-access-token.xml#POST
https://ru.wikipedia.org/wiki/OAuth
OAuth 2.0 — протокол авторизации, позволяющий выдать одному сервису (приложению) права на доступ к ресурсам пользователя на другом сервисе. Протокол избавляет от необходимости доверять приложению логин и пароль, а также позволяет выдавать ограниченный набор прав, а не все сразу.
OAuth 2.0 простым и понятным языком
OAuth: описание протокола простым и понятным языком
О недостатках
http://hueniverse.com/2012/07/26/oauth-2-0-and-the-road-to-hell/
И еще линки
http://api.yandex.ru/oauth/doc/dg/reference/web-client.xml
http://api.yandex.ru/oauth/doc/dg/reference/obtain-access-token.xml#POST
вторник, 12 августа 2014 г.
webpy: ещё один лёгкий веб-фреймворк
Хотя flask оказался удобнее, он и webpy очень похожи, может кому-то понравится больше.
Начинать отсюда:
http://webpy.org/tutorial3
и далее по сайту, например
http://webpy.org/docs/0.3/templetor
делаем restful
http://johnpaulett.com/2008/09/20/getting-restful-with-webpy/
формы
http://runnable.com/Uple-VHLs9IKAACS/working-with-forms-in-web-py-for-python-and-webpy
Начинать отсюда:
http://webpy.org/tutorial3
и далее по сайту, например
http://webpy.org/docs/0.3/templetor
делаем restful
http://johnpaulett.com/2008/09/20/getting-restful-with-webpy/
формы
http://runnable.com/Uple-VHLs9IKAACS/working-with-forms-in-web-py-for-python-and-webpy
суббота, 9 августа 2014 г.
python for windows
Если вдруг возникла нужда разрабатывать под windows, есть очень хорошая IDE PyCharm
Из вкусностей: нормальная подсветка, автодополнение, справка по параметрам с описаниями итд. Штатный IDLE и рядом не валялся.
Плюс уже встроенная поддержка virtualenv, в scripts лежит pip.exe.
Питон ставится отдельно, например отсюда
Линки
четверг, 7 августа 2014 г.
python: работаем с Couchbase
Неплохая дока на сайте
И чуть ниже есть примеры работы с базой через flask, попутно объясняя как с ним работать. Впрочем, для начала лучше изучить серию документов на хабре + на офсайте:
понедельник, 4 августа 2014 г.
знакомство с flask
Flask это микрофреймворк, и в отличии от того же django, не навязывает структуру. Фактически, представляет небольшую обёртку к:
Обычно используется в связке с SQLAlchemy+WTForms. Для запуска в бой - часто используется с nginx+Gunicorn
Часть 1: Привет, Мир!
Часть 2: Шаблоны
Часть 3: Формы
Часть 4: База данных
Часть 5: Вход пользователей
Часть 6: Страница профиля и аватары
Часть 7: Unit-тестирование
Часть 8: Подписчики, контакты и друзья
Часть 9: Пагинация
- Шаблонизатор Jinja2
- Маршрутизатор Werkzeug
- itsdangerous - Various helpers to pass trusted data to untrusted environments and back
- markupsafe - Implements a XML/HTML/XHTML Markup safe string for Python
Обычно используется в связке с SQLAlchemy+WTForms. Для запуска в бой - часто используется с nginx+Gunicorn
Часть 1: Привет, Мир!
Часть 2: Шаблоны
Часть 3: Формы
Часть 4: База данных
Часть 5: Вход пользователей
Часть 6: Страница профиля и аватары
Часть 7: Unit-тестирование
Часть 8: Подписчики, контакты и друзья
Часть 9: Пагинация
Вообще частей 18, но переводится очень медленно (год уже).
Собственно, оригинал, полный:
- Part I: Hello, World!
- Part II: Templates
- Part III: Web Forms
- Part IV: Database
- Part V: User Logins
- Part VI: Profile Page And Avatars
- Part VII: Unit Testing
- Part VIII: Followers, Contacts And Friends
- Part IX: Pagination
- Part X: Full Text Search
- Part XI: Email Support
- Part XII: Facelift
- Part XIII: Dates and Times
- Part XIV: I18n, L10n
- Part XV: Ajax
- Part XVI: Debugging, Testing and Profiling
- Part XVII: Deployment on Linux (even on the Raspberry Pi!)
- Part XVIII: Deployment on the Heroku Cloud
Про структуру каталогов например тут:
Flask для больших проектов
или готовая основа
https://github.com/sean-/flask-skeleton
Большие проекты можно разбивать на блоки, для этого есть
http://flask.pocoo.org/docs/blueprints/ (на русском: http://vladimir-stupin.blogspot.ru/2013/05/flask-blueprint.html), пример https://github.com/xmm/flask-restful-example
http://pythonhosted.org/Flask-Classy/
ещё примерчик
https://www.digitalocean.com/community/tutorials/how-to-structure-large-flask-applications
Ещё очень полезные модули
flask-login
Flask для больших проектов
или готовая основа
https://github.com/sean-/flask-skeleton
Большие проекты можно разбивать на блоки, для этого есть
http://flask.pocoo.org/docs/blueprints/ (на русском: http://vladimir-stupin.blogspot.ru/2013/05/flask-blueprint.html), пример https://github.com/xmm/flask-restful-example
http://pythonhosted.org/Flask-Classy/
ещё примерчик
https://www.digitalocean.com/community/tutorials/how-to-structure-large-flask-applications
Ещё очень полезные модули
flask-login
Подписаться на:
Сообщения (Atom)