Стауховы пирамиды доступа к сеансам, которые были созданы
Вопрос
Я пытаюсь использовать стакан пирамиды в рамках пирамиды, и его просто не работает, она создает объекты сеанса, но я не могу получить доступ к ним с помощью линии
@view_config(route_name='load_qli', renderer='json')
def load_qli(request):
request.environ['beaker.session']
.
Это дает следующую ошибку
KeyError
KeyError: 'beaker.session'
.
Мое файл Development.ini выглядит так
# pyramid_beaker settings
session.type = file
session.data_dir = %(here)s/data/sessions/data
session.lock_dir = %(here)s/data/sessions/lock
session.key = customerskey
session.secret = customerssecret
session.cookie_on_exception = true
.
и init.py нравится это
from pyramid.config import Configurator
from sqlalchemy import engine_from_config
from qlipe.models import DBSession
from pyramid_mailer import mailer_factory_from_settings
from pyramid_beaker import session_factory_from_settings
def main(global_config, **settings):
""" This function returns a Pyramid WSGI application.
"""
engine = engine_from_config(settings, 'sqlalchemy.')
DBSession.configure(bind=engine)
# pyramid_beaker add-on
session_factory = session_factory_from_settings(settings)
config = Configurator(
settings=settings,
session_factory=session_factory
)
.
Я создаю сеанс, как это
def my_view(request):
session = request.session
session['name'] = 'Fred Smith'
session.save()
.
Где я иду не так?
Решение
Вы должны быть в состоянии просто использовать включенный путь, а пакет PyramiD_Beaker может инициализировать себя от значений IINI.
В вашем файле ini:
pyramid_includes = pyramid_beaker
.
или внутри вашей главной функции __init__.py Файл:
config.include('pyramid_beaker')
.
Вы можете читать здесь здесь http://docs.pylonsproject.org/Проекты / PyramiD_Beaker / EN / Neighle / # Setup
Обычный способ доступа к сеансу проходит через запрос, как вы в My_View:
session = request.session
.
Пакет PyramID_Beaker Используйте фабрику сеанса пирамиды, а также способ, которым он управляет сеансом, не является через запрос. Объект.Для получения дополнительной информации прочитайте http://docs.pylonsproject.org/Projects/Pyramid/en/1.3-branch/narr/sessions.html