Django로 로그인 페이지

하리브로·2020년 2월 4일
1

Django

목록 보기
3/3

python-django-logo.jpg

먼저 Django 프로젝트를 생성하고 환경변수를 설정한다

📢프로젝트 생성과 관련된 부분은 "웹페이지 만들기" 글에서 확인할 수 있다

1.PNG 👉 프로젝트 이름은 Login, 서브앱 이름은 main으로 설정해 주었다.
👉 먼저 로그인을 진행할 페이지를 templates/main 안에 만들어준다. result.html에서는 로그인을 하고 나서의 페이지를 보여줄 것이다.
👉 {% csrf_token %} (Cross-site request forgery) 는 사이트간 요청 위조
랜덤한 수를 사용자의 세션에 저장하여 사용자의 모든 요청(Request)에 대하여 서버단에서 검증하는 방법으로, POST 방법을 사용하기 위해 필요한 토큰이다.

db.PNG 👉 로그인을 하기 위해선 DB가 필요하다. models.py에 가서 입력받을 유저 이름, 아이디, 비밀번호를 만들어준다. max_lengthCharField를 사용할 때 필수로 입력해야 하는 속성으로 최대 몇 글자까지 허용할지 범위를 적어주면 된다.

2.PNG👉 모델을 만들어 주고 나서는 admin에서 models를 import 해주고 그 모델을 등록 해줘야 한다. 그 다음엔 👇
python manage.py makemigrations
python manage.py migrate 의 명령어를 순서대로 입력해 model을 활성화시킨다.

url.PNG👉 클래스 뷰를 사용할 것이기 때문에 url에서 불러오는 방법이 조금 다르다.

admin.PNG👉 python manage.py runser 명령어로 서버를 열어 /admin을 주소 뒤에 붙여주면 Main에 만들었던 모델을 볼 수 있다. 이 페이지로 접속하기 위해서는 로그인을 해야하는데 아이디와 비번은 장고 프로젝트를 설치할 때 python manage.py createsuperuser 로 생성했던 관리자 계정을 사용하면 된다.
👉 여기서 +추가 버튼을 눌러 가상 계정을 만들 수 있다.

캡처.PNG😄 예시로 Userid: 하나/둘/셋 Userid: one/two/three Userpw: one/two/three 의 계정 세개를 만들었다.

캡처.PNG👉 User info에 들어가 확인해 보면 만든 계정 세개를 확인할 수 있다

view.PNG👉 views.py의 내용이다. 클래스 뷰를 사용해 입력 받는 useriduserpw 가 DB에 저장된 것과 같은지 비교해 일치하면 msg 라는 변수를 사용해 result.html에 출력해주도록 돼있다.

reslut.PNG👉 저렇게 뷰에서 받아오는 변수는 {{ }}를 사용해야 한다.

login.PNG
👉 그럼 이제 만든 페이지를 실행해 보자.

캡처.PNG
👉 이렇게 username 과 함께 로그인에 성공했다는 메세지를 받을 수 있다.

0개의 댓글