Pinax Регистрация и Счета - PullRequest
       35

Pinax Регистрация и Счета

4 голосов
/ 09 августа 2009

Кто-нибудь знает хорошую ссылку на документацию о регистрации в Pinax и «Аккаунтах». Я пытаюсь понять, как реализовать наш процесс регистрации в Django / Pinax, и пытаюсь найти путь между классами пользователя и профиля Django и классом Account в Pinax.

Основная проблема для нас - это форма регистрации с несколькими дополнительными вопросами, на которые необходимо ответить в момент запроса учетной записи. Членство должно быть принято администратором, прежде чем учетная запись будет включена. В этот момент ответы на эти дополнительные вопросы будут храниться в профиле пользователя.

Я разрываюсь между двумя подходами соперника.

1) Создайте объект User и Profile во время запроса. Но пометьте их как «ожидающие» каким-то образом, до утверждения.

2) Создайте некоторый альтернативный класс модели, чтобы временно сохранить эти значения до утверждения. В этот момент я создаю объекты User и Profile и копирую информацию в них.

Я пытаюсь определить из кода регистрации Pinax, какой из этих подходов наиболее "с зерном" Pinax, но не ясно.

Итак, опытные разработчики Django / Pinax. Какой из этих способов является более «пактичным» для вещей?

Ответы [ 2 ]

2 голосов
/ 10 августа 2009

Есть два варианта (1): (а) вы просто полагаетесь на активный флаг на пользователя; (б) вы деномормализуете и у вас есть аналогичный флаг в вашем профиле, чтобы избежать объединения.

Основная проблема с подходом (1) заключается в том, что вам необходимо убедиться, что каждый раз, когда вы извлекаете профили, вы фильтруете их на основе этого флага. Конечно, это не проблема для учетной записи, которую видит только авторизованный пользователь. Но для профиля это может быть немного болезненно.

(2) не имеет этой проблемы. В этом случае можно избежать некоторой избыточности, используя абстрактную базовую модель, совместно используемую как вашим временным профилем, так и моделями основного профиля.

Суть в том, что я не думаю, что есть очевидный "пактический" способ сделать это, хотя лично Я склоняюсь к (2).

0 голосов
/ 10 августа 2009

Большая часть документации находится здесь: http://pinaxproject.com/docs/dev/ или здесь: http://code.pinaxproject.com/wiki/ или в базе кода.

Кажется, недавно они работали над кодом больше и меньше документации, поскольку они работают над стабильным выпуском, поэтому эти документы не очень актуальны.

Тем не менее, в Pinax уже есть механизм, который задерживает активацию учетных записей до тех пор, пока они не подтвердят свой адрес электронной почты (подход № 1). Связанные настройки: ACCOUNT_REQUIRED_EMAIL и ACCOUNT_EMAIL_VERIFICATION, поэтому поиск по базе кода должен показать, как / где они используются (которые вы можете расширить, чтобы использовать для дополнительных вопросов).

Я полагаю, что они достигают этого, назначая каждому пользователю флаг «Активно» (проверьте объект «Пользователь» в Admin), который не устанавливается в «Истина», пока они не подтвердят свой адрес электронной почты. Я смутно помню, как однажды установил эту настройку вручную и все еще не могу войти в систему с этим конкретным пользователем, так что вы захотите проверить это.

...