Я пытаюсь достичь всего этого вместе:
A. Новые пользователи могут зарегистрироваться с или без использования Facebook.
B. Все они будут представлены с формой для заполнения дополнительной пользовательской информации в рамках процесса регистрации.
C. Новые учетные записи по умолчанию будут неактивными.Администраторам потребуется дополнительная информация о пользователях, когда они вручную активируют (или удаляют) учетные записи.
Я достиг A , используя django-allauth социальные учетные записи.
Я достиг C , добавив слушателя к django.db.models.signals.pre_save
и установив user.active = False
Я частично достиг B , определив пользовательский ACCOUNT_SIGNUP_FORM_CLASS
вsettings.py.Однако, насколько я могу судить, это работает только для локальных «несоциальных» учетных записей, поскольку социальные логины, кажется, пропускают эту форму.
Моя проблема в том, что , когда кто-то подписывается сСоциальная учетная запись allauth, у них нет возможности предоставить дополнительную информацию, поскольку их учетная запись будет создана без предварительного отображения моей настраиваемой формы регистрации.
Кроме того, поскольку все новые учетные записи автоматически сохраняются как неактивные, и эта дополнительная информациянеобходимо для того, чтобы администраторы могли их активировать. Я не могу просто добавить эту форму в «первый поток входа в систему» (примечание: невозможно войти в неактивные учетные записи).
Один из способов решить эту проблему IПредполагается, что не следует автоматически сохранять учетные записи как неактивные, а вместо этого работать с разрешениями, но я бы предпочел не переписывать все мои представления и т. д., если я могу избежать этого.
Любые входные данные будут оценены!Спасибо!