user auth is_active false флаг не работает в Django - PullRequest
0 голосов
/ 19 сентября 2019

Я использую is_active flag равен false в views.py, поэтому не суперпользователи могут войти в систему, но это не работает.Только суперпользователь может войти в систему.

Вот некоторые коды

Представление логики входа:

def logingin(request):
    if request.method == 'POST':
        username = request.POST.get('username','')
        password = request.POST.get('password','')
        user = auth.authenticate(request, username=username, password=password)
        if user is not None:
            login(request, user)
            return redirect('/')     
        else:
            return redirect('/signup')

    return render(request, 'login.html')

Представление логики регистрации

def signup(request):
    if request.method == 'POST':
        user_name = request.POST.get('user_name','')
        first_name = request.POST.get('first_name','')
        last_name = request.POST.get('last_name','')
        email = request.POST.get('email','')
        password = request.POST.get('password','')
        if User.objects.filter(email=email).exists():
            messages.error(request, 'E-Mail Already Exist Please Use Different Email')
        else:    
            user = User.objects.create_user(user_name, email, password)
            user.is_active = False
            user.first_name = first_name
            user.last_name = last_name
            user.save()
    return render(request, 'signup.html')

Iожидать, что все пользователи могут войти через

Ответы [ 2 ]

3 голосов
/ 19 сентября 2019

По определению , флаг is_active используется для предотвращения входа пользователей в систему. Если вы хотите, чтобы все пользователи могли войти в систему, не устанавливайте для него значение false.

0 голосов
/ 19 сентября 2019

Установить is_active = True

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

def signup(request):
    if request.method == 'POST':
        user_name = request.POST.get('user_name','')
        first_name = request.POST.get('first_name','')
        last_name = request.POST.get('last_name','')
        email = request.POST.get('email','')
        password = request.POST.get('password','')
        if User.objects.filter(email=email).exists():
            messages.error(request, 'E-Mail Already Exist Please Use Different Email')
        else:    
            user = User.objects.create_user(user_name, email, password)
            user.is_active = True
            user.first_name = first_name
            user.last_name = last_name
            user.save()
    return render(request, 'signup.html')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...