wev2py 1.99.2: сохранение сессий в базе данных - PullRequest
1 голос
/ 19 октября 2011

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

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

Я использую SQL Server 2008 Express Edition. В db.py у меня есть:

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

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

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

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

1 Ответ

2 голосов
/ 19 октября 2011

Попробуйте переместить

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

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

...