오늘은 제가 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를 사용해서 로그인에 성공한다면 "로그인 성공!"이라는 문구가 뜹니다.