7. Что есть из коробки
• Restful роутинг
• Шаблоны и статика
• Сессии и безопасные куки
• Логирование
• Поддержка WSGI middlewares
• Система тестирования и отладки07/34
8. Как можно развернуть
• uWSGI
• FastCGI, CGI
• Gunicorn
• Gevent
• Tornado
• Twisted 08/34
12. Отсутствие контекста
app = Flask(__name__)
print(current_app)
RuntimeError: working outside of application
context
print(request)
RuntimeError: working outside of request
context 12/34
14. request_context.__enter__
• создает app_context если тот
отсутсвует в _app_ctx_stack
• очищает предыдущий
request_context
• инициализирует request_context
и помещает в _request_ctx_stack14/34
18. Создание плагина
class Foo(object):
def __init__(app=None):
if app is not None:
self.init_app(app)
def init_app(self, app):
app.extensions['foo'] = self
self.app = app
18/34
19. Blueprints
• подприложения
• возможно иметь собственные
директории статики и шаблонов
• префикс или поддомен для url
• регистрация с разными url
19/34