>

view_py에서 is_active 플래그를 사용하는 것은 false입니다. 따라서 수퍼 유저가 아닌 사용자도 로그인 할 수 있지만 작동하지 않습니다. 수퍼 유저 만 로그인 할 수 있습니다.

여기 코드가 있습니다

로그인 로직보기 :

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')

모든 사용자가 다음을 통해 로그인 할 수있을 것으로 기대합니다


  • 답변 # 1

    정의로 is_active  플래그는 사용자가 로그인하지 못하게하는 데 사용됩니다. 모든 사용자가 로그인 할 수있게하려면 false로 설정하지 마십시오.

  • 답변 # 2

    Set is_active=True

    is_active를 flag로 설정하면 사용자가 비활성화 된 것입니다. 사용자가 데이터베이스에서 삭제하지 않고 외래 키 제약 조건을 따르지 않게하려면 사용자 도움말을 비활성화하십시오.

    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')
    
    

  • 이전 macos - chmod 755 모든 mach-o 실행 파일 - 맥 os x
  • 다음 visual studio - mysln - 빌드 구성 :프로젝트가 계속 다시 나타남