Аутентификация Django в django nonrel на GAE

Я использую проект Django nonrel в проекте движка приложений Google, который выполняется локально в разработке. Я создал свои собственные модели, и они прекрасны, когда они сохраняются и извлекаются в хранилище данных.

Я надеюсь использовать django.contrib.auth для обеспечения функциональности пользователя. Я могу использовать оболочку для создания пользователей, которым присваивается идентификатор. Когда я создаю одну из моих собственных моделей, которая ссылается на User, я должен передать идентификатор пользователя, поскольку в противном случае он совершенно справедливо не работает.

Однако, проверяя через интерфейс администратора gae, я не вижу модель User в хранилище данных для пользователей, которых я создал через оболочку. Я также не могу получить сведения о пользователе из одной из моих моделей, которая ссылается на них. Вызовы mymodel.user.username ничего не возвращают. Я также не могу войти в систему с правами администратора, используя заданное мной имя пользователя и пароль. Я могу видеть сохраненные версии созданных мною моделей в приложении администратора gae.

У меня такое впечатление, что пользователей создают не в хранилище данных, а где-то еще. Что еще мне нужно сделать, чтобы использовать стандартных пользователей contrib.auth с django-nonrel и gae?


person tooba    schedule 10.06.2010    source источник


Ответы (2)


Я нашел решение и подумал, что отправлю его сюда на всякий случай, если кто-то столкнется с этим вопросом в будущем.

Я использовал программу запуска Google App Engine. Django-nonrel вносит изменения в стандартный Django. В программе запуска используется стандартный Django, который не содержит этих изменений. Решение состоит в том, чтобы использовать сервер запуска manage.py, который будет видеть все изменения, не относящиеся к Django, включая ваши собственные модели и модели contrib Django.

person tooba    schedule 14.06.2010
comment
использование manage.py runserver позволяет мне войти в систему как администратор, но когда я загружаю свое приложение в GAE, возникает та же проблема, что и при использовании средства запуска GAE для запуска приложения? - person vivek.m; 02.03.2013

просто добавляю.

Я обнаружил, что при использовании python manage.py remote createduperuser в приложении Google App Engine, которое использует базу данных High Replication, изменение может занять некоторое время. Это означает, что вам, возможно, придется подождать несколько минут, прежде чем вы сможете войти в систему.

person asdacap    schedule 21.11.2011