Колба для Python - архитектурный вопрос о системе - PullRequest
7 голосов
/ 19 сентября 2010

Я использовал Django, и Django передает объект запроса представлению при его запуске.Похоже (на первый взгляд) во Flask приложение владеет запросом и импортируется (как если бы это был статический ресурс).Я не понимаю этого, и я просто пытаюсь обернуть мозг вокруг WSGI, Flask и т. Д. Любая помощь приветствуется.

1 Ответ

7 голосов
/ 20 сентября 2010

В Flask запрос является глобальным потокобезопасным, поэтому вы действительно импортируете его:

from flask import request

Я не уверен, что эта функция связана с WSGI, так как другие микро-фреймворки WSGI передают запрос какаргумент функции просмотра.«Глобальный» объект запроса является функцией Flask.Flask также рекомендует хранить пользовательские данные, которые действительны для одного запроса, в похожем объекте с именем flask.g:

Для обмена данными, действительными только для одного запроса, от одной функции к другой, глобальнойпеременная недостаточно хороша, потому что она может сломаться в многопоточной среде.Flask предоставляет вам специальный объект, который гарантирует, что он действителен только для активного запроса и будет возвращать разные значения для каждого запроса.В двух словах: он делает правильные вещи, как и для запросов и сеансов.

...