Какие модули я должен рассмотреть в Python, если я хочу использовать сеансы CGI? - PullRequest
3 голосов
/ 04 декабря 2009

Учитывая, что я не знаю веб-фреймворков в Python и хотел бы, чтобы на данный момент я был очень простым (поскольку я очень глупый), для того, что является прототипом отрывочной долговечности, есть ли какие-то обтекаемые, простые «батареи» включены "модули для этого? (В моей карьере Python также слишком рано оценивать фреймворки, выбирать одну и изучать ее.) Я вижу модуль с именем «Cookie», который может служить основой, но не специфичен для конкретной сессии.

Я знаком с основными концепциями сессий: я использовал их в классическом ASP и разбирался с ними в Perl, но я мало что вижу в Python. Beaker выглядит интересно, но затем документация требует промежуточного программного обеспечения с WSGI, и я возвращаюсь к проблеме с фреймворками.

Я нашел старый рецепт ActiveState для сессий, который, очевидно, мог бы использовать некоторую буферизацию. Информация, которую хранят, - это не то, что кто-то мог бы возразить, чтобы ее схватили, поэтому, хотя я, как правило, достаточно осведомлен о безопасности, я бы хотел быть немного более слабым с этим прототипом.

Или это проблема "накатить на себя"?

Я буду использовать Python 2.6 на IIS 7.0.

Ответы [ 3 ]

3 голосов
/ 04 декабря 2009

Я думаю, web2py (веб-фреймворк) достаточно прост для вас. Я думаю, что это самый простой способ сделать сайт или веб-сервис. Это также будет проще , чем понимать Cookie или другие модули python, связанные с веб-вещами.

Вы можете начать сеанс, просто набрав:

session.your_session_name = "blabla" # or whatever you want to store

Чтобы сделать печенье, просто посмотрите здесь .

В web2py вам не нужно ничего настраивать. Просто скачайте его и запустите web2py.py. (у вас должен быть установлен Python 2.6 <.) Вы также можете найти <a href="http://www.web2py.com/examples/default/examples" rel="nofollow noreferrer"> примеры и веб-слайд .

Модуль Python Cookie не делает ничего, кроме как хранить некоторые значения в объекте, похожем на диктонарную, но я думаю, что вы должны хранить его самостоятельно на жестком диске.

0 голосов
/ 04 декабря 2009

WSGI не является фреймворком, и при этом вам не нужно выбирать его - это стандартный способ запуска любой фреймворк веб-приложений Python на любом веб-сервере, поддерживающем Python, включая CGI. Если у вас есть приложение WSGI с именем app и вы хотите запустить его на CGI, см. документы и используйте wsgiref.handlers.CGIHandler().run(app), как говорят документы.

Итак, вы можете прекрасно использовать Стакан через WSGI (поверх CGI) - например, возьмите пример в документах Бикера и просто добавьте (необходимый импорт и) run вызов выше (с использованием объекта wsgi_app, который создается в этом примере, плюс, конечно, session.save и такой же необходимый, как, опять же, документы Beaker объясняют сразу после этого).

У богатых или тяжелых фреймворков есть свое место, но так же как и у легких, гибких компонентов, таких как Beaker - и промежуточное программное обеспечение WSGI - отличный способ использовать такие компоненты, не требуя каких-либо "framework-y" соглашений, просто старый добрый WSGI (поверх CGI или что-нибудь еще).

Кстати, лучший способ запустить WSGI на IIS может быть isapi-wsgi (я могу сказать только «может», потому что у меня нет установки IIS, на которой можно было бы его протестировать ;-). Но до тех пор, пока вы кодируете в WSGI (с любой средой или вообще без нее), это будет только оптимизацией - ваше приложение не изменится (за исключением того, какой обработчик run или эквивалентный метод вам нужно вызвать; - ) работает ли он на CGI, IIS через ISAPI, Google App Engine или на любой другой комбинации сервер-интерфейс

0 голосов
/ 04 декабря 2009

CherryPy стоит посмотреть. Да, это фреймворк, и да, он требует WSGI, но он чрезвычайно легкий по сравнению с другими более надежными альтернативами.

Есть еще один вопрос, на который был дан ответ в SO, который дает краткий пример того, как управлять сеансами с CherryPy . Как видите, очень легко быстро начать работу.

Наконец, вот небольшой документ о настройке IIS для использования с CherryPy.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...