Из webapp2 documentation
я получил следующий код (не уверен, что это правильно):Использование сессий с webapp2 Python
import webapp2
from webapp2_extras import sessions
class BaseHandler(webapp2.RequestHandler):
def dispatch(self):
self.session_store = sessions.get_store(request=self.request)
try:
webapp2.RequestHandler.dispatch(self)
finally:
self.session_store.save_sessions(self.response)
@webapp2.cached_property
def session(self):
return self.session_store.get_session()
class Login(BaseHandler):
def get(self):
self.session['foo'] = 'bar'
foo = self.session.get('foo')
Я просто пытаюсь создать базовый сеанс входа в систему один раз регистрирует пользователя в. Но я изучал это довольно долгое время без везения.
То, что я думаю, что происходит:
self.session_store = sessions.get_store(request=self.request)
Получение сеанса магазин, где я буду хранить необходимые данные пользователя
try:
webapp2.RequestHandler.dispatch(self)
finally:
self.session_store.save_sessions(self.response)
Обновление магазина сеанса? Не совсем здесь.
@webapp2.cached_property
def session(self):
return self.session_store.get_session()
Возвращаясь сессию, так что данные внутри могут быть использованы
То, что я не знаю:
- Что в функции
get_store()
request=self.request
? Не может ли магазин быть общим хранилищем в базе данных серверов, в которой хранятся сеансы? - Что такое
try,finally:
бит для. Очень смутно. - Нужно ли нам беспокоиться о идентификаторах сеансов явно. Как использовать идентификатор сеанса для сопоставления информации пользователя в базе данных. Будет ли каждый пользователь иметь соответствующий уникальный идентификатор сеанса.
Приносим извинения, если есть много вопросов, но я очень новый и потерянный. Я смотрел несколько уроков PHP-сессий, но не добился больших успехов.
Благодарим за любые ответы заранее.
Спасибо за помощь ... У меня сейчас все работает. Я изучаю язык немного больше, он казался лучшим выбором для начинающих веб-разработчиков на GAE. –