꾸준히 다시 시작하는 TIL

Frel·2022년 5월 29일
0

내일 배움 캠프

목록 보기
26/35
post-custom-banner

최근에 너무 프로젝트를 하면서 늦게 끝나면서 힘드니까 TIL을 적지 않고 넘기는 날이 많아져서 제가 배우던 내용들을 제대로 기억하기 힘들었던 것 같습니다...

앞으로는 아무리 힘들어도 적은 양이라도 배웠던 내용들을 정리 해보면서 다시 꾸준히 TIL을 적어보도록 하겠습니다.

오늘은 제가 Django강의를 들으면서 궁금했던 코드들의 뜻을 해석을 하면서 이해해보는 TIL을 작성 하겠습니다.

현재 과정은 로그인 기능을 만드는 과정입니다.

from django.http import HttpResponse

화면에 글자를 띄우고 싶을때 사용하는 import입니다.


if request.method == 'POST'
	return HttpResponse("로그인 성공!")

method가 POST인지 GET인지 확인해줍니다.
POST가 맞다면 HttpResponse로 "로그인 성공!"이라고 뜹니다.


elif request.method == 'GET':
    return render(request, 'user/signin.html')
    
POST가 아니라 GET라면 signin.html화면을 보여줍니다.    


{% csrf_token %}

장고가 알아서 보안을 잘 해줄 수 있도록 나타내는 부분입니다.
https://chagokx2.tistory.com/49 더 궁금하시다면 해당 주소에 가서 내용을 참고하시면 좋습니다.

username = request.POST안에 .get('username', None)
password = request.POST.get('password', None)


request.POST안에 요청한 POST곳에는 요청한 POST 데이터가 담겨있습니다.
여기에서 username, password라고 불리는 정보들을 가져온다는 뜻 입니다.
없다면 None이라고 뜹니다.


me = UserModel.objects.get(username=username)


UserModel은 사용하고 있는 사용자 모델 데이터베이스 입니다.
UserModel에서 username 값이 POST에서 들어온 테이터랑 같은 정보를
불러오겠다는 뜻 입니다. 그 정보는 me에 저장이 됩니다.


if me.password == password:
    request.session['user'] = me.username
    return HttpResponse("로그인 성공!")
else:
    return redirect('/sign-in')
    
    
불러온 me의 password 값이랑 로그인 창에서 입력한 password값이랑 같다면,
session에다가 user를 넣습니다. session이란 사용자 정보를 저장할 수 있는 공간 입니다.
그리고 return HttpResponse를 사용해서 로그인에 성공한다면 "로그인 성공!"이라는 문구가 뜹니다.

profile
자기개발을 해서 발전하는 미래의 개발자
post-custom-banner

0개의 댓글