Есть 2 схожих фреймворка, bottle и flask, весьма похожи, оба на питоне, основное отличие - bottle.py это ровно 1 файл, кинули в проект и всё. Пригодно для чего-то совсем мелкого. Ну и статус развития bottle под вопросом.
Показаны сообщения с ярлыком flask. Показать все сообщения
Показаны сообщения с ярлыком flask. Показать все сообщения
суббота, 1 июня 2024 г.
вторник, 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 в примерах
четверг, 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)