Я знаю, что существуют фреймворки, но я пытаюсь использовать wsgi напрямую, чтобы улучшить свое понимание.Глобальные переменные в Python и Apache mod_wsgi
У меня есть обработчик wsgi, и вверху я объявила переменную i = 0
.
В моей функции application(environ, start_response)
я объявляю global i
, затем я увеличиваю i
всякий раз, когда нажимается кнопка.
Насколько я понимаю, состояние этой переменной сохраняется до тех пор, пока сервер работает, поэтому все пользователи веб-приложения видят то же самое i
.
Если я объявляю i
внутри функции application
, то значение i
сбрасывается до 0 в любое время, когда будет сделан запрос.
Мне интересно, как вы сохраняете i
между запросами одного пользователя, но не сохраняете ли это на разных сеансах пользователей? Таким образом, один пользователь может создавать несколько сообщений, а i
будет увеличиваться, но если другой пользователь посещает веб-приложение, они начинаются с i=0
.
И я знаю, что вы можете хранить i
в базе данных между сообщениями, но можно ли просто сохранить i
в памяти между сообщениями?
Для некоторых связанных с ними обзоров фона смотрите http://code.google.com/p/modwsgi/wiki/ProcessesAndThreading. Более релевантные части находятся в конце, но все же важно прочитать остальное для контекста. –