Django 사용자 정의 사용자 모델 인증이 작동하지 않습니다.

압정

맞춤 사용자 모델이있는 애플리케이션 '홈페이지'가 있습니다. 신규 사용자를 등록하고 내 DB에서 볼 수 있습니다.

settings.py

AUTH_USER_MODEL = 'homepage.User'

models.py

from django.db import models
from django.contrib.auth.models import AbstractUser

class User(AbstractUser):
    phone_number = models.CharField(max_length=15, default='')
    birthday = models.DateField(blank=True, null=True)

class Meta:
    db_table = 'auth_user'

views.py

from django.contrib import auth
from django.contrib.auth import get_user_model

def authentication(request):
    username = request.POST.get('username', '') => one
    password = request.POST.get('password', '') => 1111 (not 1111 but hash)
    user = auth.authenticate(username=username, password=password)

    if user is not None:
        auth.login(request, user)

사용자는 항상 없음입니다. 다음과 같이 db에서 검색 할 수 있습니다.

User = get_user_model()
user = User.objects.get(username='one')
print(user.username) => one
print(user.password) => 1111 (not 1111 but hash)

하지만 로그인 할 수 없습니다. 어떻게 작동합니까?

편집 : 아마도 양식에 문제가 있습니까?

forms.py

from django.contrib.auth.forms import UserCreationForm
from django.db import models
from django.contrib.auth import get_user_model
MyUser = get_user_model()

class RegistrationForm(UserCreationForm):
first_name = forms.CharField()
last_name = forms.CharField()
username = forms.CharField()
password1 = forms.CharField(widget=forms.PasswordInput, 
                            label="Password")          
password2 = forms.CharField(widget=forms.PasswordInput,
                            label="Confirm password")
email = forms.EmailField(widget=forms.EmailInput)
birthday = forms.DateField(widget=extras.SelectDateWidget(years=YEARS))
phone_number = forms.CharField()
captcha = CaptchaField()

def save(self, commit = True):   
    user = MyUser.objects.create_user(self.cleaned_data['username'])
    user.email = self.cleaned_data['email']
    user.first_name = self.cleaned_data['first_name']
    user.last_name = self.cleaned_data['last_name']
    user.birthday = self.cleaned_data['birthday']
    user.phone_number = self.cleaned_data['phone_number']
    user.set_password('password2')

    if commit:
        user.save() 

    return user
압정

실제로 문제는 forms.py에 있습니다.

user.set_password('password2')

다음과 같이 비밀번호를 저장해야합니다.

user.set_password(self.cleaned_data['password2'])

그리고 이제 괜찮습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

사용자 정의 사용자 모델에 대한 인증이 작동하지 않습니다.

분류에서Dev

Django의 사용자 지정 사용자 모달에서 로그인이 작동하지 않습니다.

분류에서Dev

재정의 된 후 Django 사용자 모델이 작동하지 않음

분류에서Dev

맞춤 사용자 모델이 작동하지 않는 django 인증

분류에서Dev

Laravel은 사용자 정의 모델 속성이 작동하지 않습니다.

분류에서Dev

Django 사용자 모델 상속이 작동하지 않습니다.

분류에서Dev

사용자 지정 DateTime 모델 바인더가 작동하지 않습니다.

분류에서Dev

Yii 모델 사용자 지정 규칙이 작동하지 않습니다.

분류에서Dev

Django에서 사용자 지정 사용자 모델을 인증 할 수 없습니다.

분류에서Dev

Django : 사용자 사용자 모델이로드되지 않았습니다.

분류에서Dev

봄 보안 사용자 정의 인증이 작동하지 않습니다.

분류에서Dev

Django가 사용자 지정 사용자를 다른 모델의 외래 키로 저장하지 않음 : NOT NULL 제약 조건이 실패했습니다.

분류에서Dev

Django ignore_conflicts가 사용자 모델에서 작동하지 않습니다.

분류에서Dev

Django에서 사용자 지정 사용자 모델로 로그인하는 동안 인증 문제

분류에서Dev

django 모델 양식을 사용하여 모델 양식이 자동으로 생성되지 않았습니다.

분류에서Dev

Django-REST : 사용자 지정 권한이 작동하지 않습니다.

분류에서Dev

v 모델이있는 사용자 지정 스위치 구성 요소가 작동하지 않습니다.

분류에서Dev

django-tastypie에서 작동하지 않는 사용자 정의 인증

분류에서Dev

사용자 기본 인증 모델 및 다른 모델과의 Django 관계

분류에서Dev

맞춤 사용자 모델이 작동하지 않는 django-allauth

분류에서Dev

Ember 데이터 모델 롤백이 모델의 사용자 정의 속성에서 작동하지 않습니다.

분류에서Dev

관리자 페이지의 인증 사용자 모델

분류에서Dev

Django의 사용자 지정 페이지 매김이 제대로 작동하지 않습니다.

분류에서Dev

Django의 관리자가 사용자 정의 인증 후 로그인하지 않습니다.

분류에서Dev

Django의 사용자 지정 사용자 모델 사용 (Django1.6)

분류에서Dev

사용자 정의 django 인증 백엔드는 처음에는 사용자를 로그인하지 않지만 두 번째로 작동합니다.

분류에서Dev

`createsuperuser`가 사용자 지정 / 사소하지 않은 사용자 모델로 작동하도록합니다.

분류에서Dev

django 관리자가 사용자 정의 사용자와 작동하지 않습니다.

분류에서Dev

MySQL 사용자 인증이 작동하지 않습니다.

Related 관련 기사

  1. 1

    사용자 정의 사용자 모델에 대한 인증이 작동하지 않습니다.

  2. 2

    Django의 사용자 지정 사용자 모달에서 로그인이 작동하지 않습니다.

  3. 3

    재정의 된 후 Django 사용자 모델이 작동하지 않음

  4. 4

    맞춤 사용자 모델이 작동하지 않는 django 인증

  5. 5

    Laravel은 사용자 정의 모델 속성이 작동하지 않습니다.

  6. 6

    Django 사용자 모델 상속이 작동하지 않습니다.

  7. 7

    사용자 지정 DateTime 모델 바인더가 작동하지 않습니다.

  8. 8

    Yii 모델 사용자 지정 규칙이 작동하지 않습니다.

  9. 9

    Django에서 사용자 지정 사용자 모델을 인증 할 수 없습니다.

  10. 10

    Django : 사용자 사용자 모델이로드되지 않았습니다.

  11. 11

    봄 보안 사용자 정의 인증이 작동하지 않습니다.

  12. 12

    Django가 사용자 지정 사용자를 다른 모델의 외래 키로 저장하지 않음 : NOT NULL 제약 조건이 실패했습니다.

  13. 13

    Django ignore_conflicts가 사용자 모델에서 작동하지 않습니다.

  14. 14

    Django에서 사용자 지정 사용자 모델로 로그인하는 동안 인증 문제

  15. 15

    django 모델 양식을 사용하여 모델 양식이 자동으로 생성되지 않았습니다.

  16. 16

    Django-REST : 사용자 지정 권한이 작동하지 않습니다.

  17. 17

    v 모델이있는 사용자 지정 스위치 구성 요소가 작동하지 않습니다.

  18. 18

    django-tastypie에서 작동하지 않는 사용자 정의 인증

  19. 19

    사용자 기본 인증 모델 및 다른 모델과의 Django 관계

  20. 20

    맞춤 사용자 모델이 작동하지 않는 django-allauth

  21. 21

    Ember 데이터 모델 롤백이 모델의 사용자 정의 속성에서 작동하지 않습니다.

  22. 22

    관리자 페이지의 인증 사용자 모델

  23. 23

    Django의 사용자 지정 페이지 매김이 제대로 작동하지 않습니다.

  24. 24

    Django의 관리자가 사용자 정의 인증 후 로그인하지 않습니다.

  25. 25

    Django의 사용자 지정 사용자 모델 사용 (Django1.6)

  26. 26

    사용자 정의 django 인증 백엔드는 처음에는 사용자를 로그인하지 않지만 두 번째로 작동합니다.

  27. 27

    `createsuperuser`가 사용자 지정 / 사소하지 않은 사용자 모델로 작동하도록합니다.

  28. 28

    django 관리자가 사용자 정의 사용자와 작동하지 않습니다.

  29. 29

    MySQL 사용자 인증이 작동하지 않습니다.

뜨겁다태그

보관