Я использую Django + Appengine на странице, которая имеет как обычный HTML-запрос для получения страницы, так и AJAX-запрос с использованием jQuery. По обычным запросам, он прекрасно загружает информацию о текущем пользователе и сессии. Однако для запросов AJAX self.user не установлен, а users.get_current_user () ничего не возвращает.
Оба обработчика находятся в одном домене и даже в одном и том же файле .py. Используя WING IDE для отладки, единственное различие между ними заключается в том, что в обычном запросе webob._parsed_cookies задается идентификатор сеанса, а в запросе AJAX он вообще не устанавливается. Хотя оба они показывают один и тот же идентификатор сеанса в request._environ.HTTP_COOKIE.
Это заставляет меня задуматься о том, что запрос AJAX, а не запрос HTML, не дает GAE знать о загрузке информации о сеансе. Идеи?
Редактировать: Извините, это была моя вина. Я не осознавал, что использую пользовательскую реализацию пользователей, чтобы сделать ее более похожей на django, а не на пользователей Google, - и я пропустил шаг, который включал ручное извлечение идентификатора сеанса из файлов cookie и поиск активного пользователя, соответствующего этот идентификатор сеанса и установка его в качестве переменной экземпляра пользователя для запроса. Вот почему идентификатор сеанса был в запросе, но пользовательский объект не был установлен.
- Элемент списка