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".

https://docs.djangoproject.com/en/1.11/ref/signals/

Другие вопросы по тегам