본문 바로가기
내일배움캠프

49. 내일배움캠프 - 38일차TIL

by 새싹_v 2022. 10. 26.
728x90


 

 

TIL

 

📌
오늘 한 일

아침 쪽지 시험
팀 코드 리뷰
장고 심화 3주 자 완강
댓글 작성, 삭제 기능 구현
자바스크립트 공부 예정

오늘도 아침부터 쪽지시험 봤다. 쪽지시험은 2주 차 내용인데

2주 차에 했던 코드들을 보면서 풀었다.

문제를 대부분 풀었지만 마지막 post부분은 하지 못했다.

그리고 장고 강의 듣고 팀 코드 리뷰하고 

장고 3주차 강의를 다 들었다.

3주 차 강의 중 마지막 프론트랑 백엔드 연결하는 부분이

제일 재밌다. 백엔드랑 프론트랑 주고받고 하는 부분이 

아직 초반이지만 잼씀

댓글 작성과 삭제 부분을 만드는데 오늘 또한 스스로 해보다가

못하는 부분은 팀원 도움을 받았다. 진짜 쉽게 설명해주셔서

이해하기 쉬웠음!! 

이제 틸을 쓰고 자바스크립트 강의 듣고 자야겠다

오늘도 자바스크립트 블로그와 프로젝트 블로그는 작성 못했다 ㅎㅎ

진짜 써야 하는데 이번 주 안에 작성해야겠다

 

오류
댓글 삭제하는 부분에서 삭제는 되지만 계속 오류가 발생했음
def comment_delete(request, comment_id):   
           comment = Comment.objects.get(id=comment_id)   
           if comment.author == request.user:            
                    comment.delete()       
                    return redirect('post:post-detail')   
            else:       
                     return redirect('post:post-detail', comment_id)


해결
def comment_delete(request, comment_id):   
           comment = Comment.objects.get(id=comment_id)   
           if comment.author == request.user:   
                    a = comment.post.id        #a변수에 comment.post.id를 저장해 줬더니 정상적으로 작동!
                    comment.delete()       
                    return redirect('post:post-detail', a)   
            else:       
                     return redirect('post:post-detail', comment_id)

 

 

 

장고 심화 3주 차

 

쿠키방식:
세션 저장소를 필요로 한다.
세션 저장소는 로그인 시 사용자 정보를 저장하고, 열쇠로 사용할 수 있는
세션 id를 만든다. HTTP헤더에 실어 클라이언트에게 보낸다.
브라우저는 세션 id를 포함하는 쿠키를 저장하고 있다. 인증이 필요한
요청에 해당 쿠키를 끼워 서버에 request를 보낸다.


토큰방식 : 
JWT(JSON Web Token)는 인증에 필요한 정보들을 암호화시킨 토큰을 의미
쿠키 방삭과 유사하게 사용자는 Access Token을 HTTP헤더에 실어 서버에 전송한다.
토큰은 임의로 생성된 비밀번호 같이 동작한다. 제한된 수명을 가지고,
새로운 토큰은 한 번 만료되면 새로 생성해야 한다.


====쿠키방식과 로컬스토리지 차이===
쿠키는 
최대 4kb 용량을 가지고 있다. 사이트에서 방문한 페이지를 저장하거나
유저의 로그인 정보를 저장하는 등 다양한 방법으로 사용된다.
문자열만 저장할 수 있다는 제한이 있음
쿠키는 브라우저나 탭이 열려있는 동안에만 저장된다. 닫으면 영구적으로 삭제된다.

로컬스토리지는 
데이터가 유저 로컬 디스크에 저장되어 있으면 인터넷이 끊어져도
데이터가 사라지지 않는다.
로컬스토리지는 최대 5MB를 저장할 수 있다.
로컬스토리지는 자바스크립트 코드를 통해 삭제하지 않으면 데이터는 자동으로
삭제되지 않는다.
==============================

 

 


==========simple JWT사용============
https://django-rest-framework-simplejwt.readthedocs.io/en/latest/getting_started.html

1.restframework와 simplejwt를 다운받는다
$ pip install django djangorestframework djangorestframework-simplejwt
다운로드하였으면 pip list로 확인!

2. settings.py에
INSTALLED_APPS > 'rest_framework' 추가

3.settings.py에 아래 코드 추가

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework_simplejwt.authentication.JWTAuthentication',
    )
}

4. INSTALLED_APPS에 
'rest_framework_simplejwt' 추가

5. users/urls.py
from rest_framework_simplejwt.views import (
    TokenObtainPairView,
    TokenRefreshView,
) #임포트

path('api/token/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
path('api/token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),

6. 
python manage.py makemigrations
python manage.py migrate


==============================

 

 


=========custom user=========
페이지 아래쪽 확인
https://docs.djangoproject.com/en/4.1/topics/auth/customizing/

============================

728x90

댓글