210401

팔리동·2021년 4월 1일
0

TIL

점프 투 장고

aws 서버가 접속이 자꾸 안되서 점프 투장고 마지막 부분인 디버그 페이지 수정등을 하지 못했다. 지금은 한 달 무료지만 다음달부터 돈내고 쓰기엔 안정성의 문제가 있는 것 같다.

게시판 만들기 ver.2

모델에 이메일 필드를 추가해서 로그인할 때 이메일을 받게 만들었다.

cdn이 무엇인지 이해하게 되었고 부트스트랩 같은곳에서 링크를 따와서 페이지에 표시할 때 어떤 프로세스를 갖게 되는지 알게됐다.

settings.py에서 static파일을 어디서 불러올지를 정하는 걸 했다. 파일을 불러 올 때 루트디렉토리 설정을 하는 것에 조금 익숙해졌다.

쿠키와 세션에 대해서 조금이나마 이해가 생겼다.
얄코의 쿠키 강의를 통해서 더 더 알아보았다.

로그인 함수 정리본

from django.http import HttpResponse
from django.shortcuts import render, redirect
from django.contrib.auth.hashers import make_password, check_password
from .models import Fcuser

# Create your views here.

def home(request):
    user_id = request.session.get('user')   #저장한 객체의 아이디값

    if user_id:
        fcuser = Fcuser.objects.get(pk=user_id)     # 변수에 그아이디값의 객체를 저장
        return HttpResponse(fcuser.username)

    return HttpResponse('Home')

def logout(request):
    if request.session.get('user'):
        del(request.session['user'])
    
    return redirect('/')

def login(request):
    if request.method == 'GET':
        return render(request, 'login.html')
    elif request.method == 'POST':
        username = request.POST.get('username', None)
        password = request.POST.get('password', None)

        res_data = {}

        if not (username and password):
            res_data['error'] = '모든값을 입력해야합니다.'
        else:
            fcuser = Fcuser.objects.get(username=username)
            if check_password(password, fcuser.password):
                request.session['user'] = fcuser.id   # 아이디 하나의 객체를 저장 
                return redirect('/') 
                # 비밀번호 일치,로그인 처리 

            else:
                res_data['error'] = '비밀번호가 틀렸습니다.'

            
        return render(request, 'login.html', res_data)



profile
배움의 기록

0개의 댓글

관련 채용 정보