Показаны сообщения с ярлыком flask. Показать все сообщения
Показаны сообщения с ярлыком flask. Показать все сообщения

суббота, 1 июня 2024 г.

bottle vs flask?

 Есть 2 схожих фреймворка, bottle и flask, весьма похожи, оба на питоне, основное отличие - bottle.py это ровно 1 файл, кинули в проект и всё. Пригодно для чего-то совсем мелкого.  Ну и статус развития bottle под вопросом.

пятница, 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

Тут много интересного, в том числе замена POST-ом операций PUT и DELETE

четверг, 7 августа 2014 г.

python: работаем с Couchbase

Неплохая дока на сайте

И чуть ниже есть примеры работы с базой через flask, попутно объясняя как с ним работать. Впрочем, для начала лучше изучить серию документов на хабре + на офсайте:

понедельник, 4 августа 2014 г.

знакомство с flask

Flask это микрофреймворк, и в отличии от того же django, не навязывает структуру. Фактически, представляет небольшую обёртку к:
  • Шаблонизатор 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, но переводится очень медленно (год уже).
Собственно, оригинал, полный:
Про структуру каталогов например тут:
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