Аутентификация Django в Django nonrel на GAE - PullRequest
3 голосов
/ 10 июня 2010

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

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

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

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

Ответы [ 2 ]

6 голосов
/ 14 июня 2010

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

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

0 голосов
/ 21 ноября 2011

просто добавление.

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

...