Django - умеренные пользователи для одобрения администратора
Я создал приложение, которое позволяет пользователям создавать онлайн-продукты - в основном структурированную форму, заполненную разрешениями. Я использую базовую аутентификацию Django для регистрации и входа. Когда пользователь регистрируется, я хочу, чтобы учетная запись была утверждена администратором, прежде чем он сможет войти в систему. Я знаю, что есть модули, которые я могу использовать для этого, но мне было интересно, есть ли что-то, что я могу сделать, чтобы включить это, не устанавливая больше материала,
Вот вид регистрации:
def signup(request):
if request.method == 'POST':
form = SignUpForm(request.POST)
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
raw_password = form.cleaned_data.get('password1')
user = authenticate(username=username, password=raw_password)
login(request, user)
return redirect('home')
else:
form = SignUpForm()
return render(request, 'signup.html', {'form': form})
Если не все так просто и лучше всего использовать модуль, какой из них лучше? Я видел пару, но не уверен, какой из них использовать, если я должен использовать один.
1 ответ
Если вы не хотите устанавливать сторонний модуль, я думаю, вам следует расширить пользовательскую модель Django.
Это официальная документация Django на эту тему.
https://docs.djangoproject.com/en/1.11/topics/auth/customizing/
Дизайн для записи статуса одобрения на расширенных моделях. Когда пользователь входит в систему, вероятно, что статус подтверждения расширенной модели проверяется вместе с результатом входа в Django, и пользователю разрешено входить в систему или нет.
Если вы хотите получать уведомления о новых пользователях, вы можете использовать функцию сигнала Django "post_save".