내일배움캠프AI - 파이썬 장고 실무 기초 3, 4주차 개발일지

Dongwoo Kim·2022년 5월 31일
0

스파르타코딩클럽

내일배움캠프AI 웹개발자양성과정 2회차

파이썬 장고 실무 기초 3, 4주차 개발일지

1. Django에서 제공하는 UserModel 사용하기

  • 기본적으로 제공하는 UserModel를 상속받아 bio 속성만 추가하기

    from django.db import models
    from django.contrib.auth.models import AbstractUser
    
    class UserModel(AbstractUser):
        class Meta:
            db_table = "my_user"
    
        bio = models.TextField(max_length=500, blank=True)
  • setting.py 설정

    AUTH_USER_MODEL = 'user.UserModel'

2. 회원가입 / 로그인 기능

  • 회원가입 시 중복 확인

    from django.contrib.auth import get_user_model 
    
    exist_user = get_user_model().objects.filter(username=username)
    	if exist_user:
    		return render(request, 'user/signup.html') 
    	else:
    		UserModel.objects.create_user(username=username, password=password, bio=bio)
    		return redirect('/sign-in') 
  • 로그인 시 아이디/패스워드 확인

    from django.contrib import auth 
    
    me = auth.authenticate(request, username=username, password=password) 
    	if me is not None:  
    		auth.login(request, me)
    		return HttpResponse("로그인 성공")
    	else:
    		return redirect('/sign-in')  

3. many-to-many 모델 만들기

  • UserModel 수정
    from django.db import models
    from django.contrib.auth.models import AbstractUser
    from django.conf import settings
    
    class UserModel(AbstractUser):
        class Meta:
            db_table = "my_user"
    
        bio = models.TextField(max_length=500, blank=True)
        follow = models.ManyToManyField(settings.AUTH_USER_MODEL,related_name='followee')
profile
kimphysicsman

0개의 댓글