wev2py 1.99.2: сохранение сеансов в базе данных

В web2py версии 1.99.2 в начале контроллера default.py я написал следующее:

session.connect(request, response, db, masterapp=None)

Я использую экспресс-версию SQL Server 2008. В db.py у меня есть:

db = DAL('mssql://sa:mypass@.\SQLEXPRESS/mytest')

Теперь сеансы создаются в базе данных, как и ожидалось. Затем в контроллере default.py я добавил:

@auth.requires_login()
def test():
    return dict()

Кроме того, было создано представление default/test.html. Но когда я пытаюсь перейти на страницу default/test.html, она перенаправляется на страницу пользователя/логина. Проблема исчезнет, ​​если я переключусь на файловый сеанс по умолчанию. Что не так с моим кодом?


person synergetic    schedule 19.10.2011    source источник


Ответы (1)


Попробуйте двигаться

session.connect(request, response, db, masterapp=None)

в db.py сразу после того, как вы определите соединение с БД. Когда auth определен (я предполагаю, что вы определили его в db.py или другом файле модели), он должен иметь доступ к сеансу, поэтому сначала вам нужно подключиться к сеансу.

person Anthony    schedule 19.10.2011