2013-08-11 5 views
2

Я разрабатываю веб-приложение, используя web.py. Он использует сеанс, как показано ниже:Могу ли я использовать сеанс web.py вне браузера?

store = web.session.DBStore(db.sess, "sessions") 
session = web.session.Session(
    app, 
    store, 
    initializer={ 
     "auth": False, 
     "username": "anonymous", 
     "preferences": db.data.select('preferences', where="username='anonymous'", limit=1)[0] 
    } 
) 
web.config._session = session 

Я решил, что было бы полезно иметь настольное приложение. Проблема, с которой я сталкиваюсь, заключается в том, что я не могу заставить сеанс работать правильно за пределами веб-браузера. Я считаю, что это еще один объект, который содержит конкретные данные, но я не совсем уверен.

Мне нужен какой-то способ либо использовать web.py для создания сеанса, чтобы я мог использовать все мои функции с ним (многие проверяют на сеанс, чтобы увидеть, кто входит в систему), или мне нужно каким-то образом создать «поддельный» сеанс, содержащий по существу те же данные, что и раньше, поэтому я все еще мог использовать функции.

Вся моя цель заключается в том, чтобы продолжать использовать ту же модель, с тех пор мне не придется переписывать многие функции, которые просто дублируют функциональность.

ответ

0

Я узнал, что я делаю неправильно. Вызывает контекст web.input, который недоступен за пределами браузера, насколько я мог видеть.

В результате я изменил свой метод login(...) от login(input) до login(username, password). Теперь из интерактивной оболочки я могу получить сеанс. Я считаю, что это перенесет в настольное приложение, так как интерактивная оболочка не является браузером.

Смежные вопросы