-
02. Django 간단한 로그인 페이지 구현toy_project 2022. 2. 21. 23:09728x90
Django
pip install Django
python manage.py startproject mysite_login
pthon manage.py startapp user
-> 앱만들어줬으면 바로 setting.py에 앱추가 users
유저는 장고에서 중요한 부분을 차지하고 여러부분에서 상호적으로 작용하는 부분이 많기 때문에
setting.py에다가 어떤걸 주 베이스 유저로 쓸건지 말을 해줘야한다
AUTH_USER_MODEL = 'user(앱이름).User'
python manage.py makemigrations > 모델에 저장 예정을 장고에게 알려줌
AbtractUser에서 기본적으로 제공해주는 모델들을 볼 수 있음
python manage.py migrate > db에 실제 테이블 생성시키기
abstractUser
->장고에서 기본적으로 제공하는 유저에 관한 기능들을 전부 포함한 유저 모델을 만들 수 있다from django.db import models from django.contrib.auth.models import AbstractUser # AbstractUser를 상속 받은 클래스 만들기 # 장고에서 기본적으로 제공하는 유저에 관한 기능들을 전부 포함한 유저 모델을 만들 수 있다 class User(AbstractUser): student_id = models.CharField(max_length=10)from django.shortcuts import render, redirect from django.contrib.auth import authenticate, login, logout from .models import User # Create your views here. def login_view(request): # 제출 버튼을 눌렀을 때 post로 request가 들어왔을 때 if request.method == "POST": username = request.POST["username"] password = request.POST["password"] user = authenticate(username=username, password=password) if user is not None: print("인증성공") login(request, user) else: print("인증실패") return render(request, "users/login.html") def logout_view(request): logout(request) # return redirect("users:login")
간단한 로그인 화면이고 request로 받은 결과를 models에 저장할 수 있음
회원가입을 누르면 새로운 html로 넘어감
각 폼에 맞춰서 데이터를 입력하면 입력값들이 models의 칼럼에 맞춰 저장을 시킬 수 있음
def signup_view(request): if request.method == "POST": username = request.POST['username'] password = request.POST['password'] firstname = request.POST['firstname'] lastname = request.POST['lastname'] email = request.POST['email'] student_id = request.POST['student_id'] user = User.objects.create_user(username=username, password=password, first_name=firstname, last_name=lastname, email=email, student_id=student_id) user.save() # 회원가입이 끝난 다음에는 로그인하는 화면으로 넘겨줌 return redirect("users:login") return render(request, "users/signup.html")728x90'toy_project' 카테고리의 다른 글
04. DRF로 웹 만들어보기 : 기획 (0) 2022.02.25 03. docker 사용해보기 (0) 2022.02.25 01. instagram_crawler (0) 2022.02.15 00. instagram crawler (0) 2022.02.15 MBTI별 특징 데이터로 확인하기 - 개발 공부 (0) 2022.01.16