[어딜돈망가] D+6: CSRF 해결과 유저 별 데이터 저장

2020. 12. 15. 17:53프로젝트/어딜 돈망가

728x90

오늘 참 골이 때리는 일들 투성이었다.

 

갑.자.기 403에러가 떴다.

회사에서 일할 때도 한 번 겪은 일이라서 CSRF이슈인건 알았지만, 그냥 골이 때린다...

서버를 껐다 켰더니 되거나, 창을 닫고 새로 켰더니 되거나 이런 식이 반복되었다.

 

대략 이런 식으로 찾아서 넣었다. 블로거 주인분께 참 감사하다. 이따 코드 정리 좀 해야겠다

 

 

레코드에 유저별로 넣기 위해서 다음의 작업들을 하였다.

1. model에 foreign key로 auth.user를 추가하였다. foreign키를 넣을 때, on_delete를 안 넣으면 에러가 나더라

2. 레코드를 추가하는 부분에서 serializer.save의 인자로 owner=request.user를 넣었다.

3. 레코드를 불러오는 부분에서 objects.filter로 세션에 로그인 한 유저의 정보만 가져왔다.

그랬더니 이렇게 로그인에 따라 내용이 달라졌다

 

 

CSRF때문에 골때리기도 하고, 과제도 해야하고, 3의 배수라서 코드 정리도 좀 할겸 오늘은 여기서 끝냈다.

 


할 일


코드 구조


참고 자료

 

CSRF

jahong.tistory.com/entry/React%EC%97%90%EC%84%9C-csrf-token-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0with-Django-restframework

 

유저별 레코드

wayhome25.github.io/django/2017/05/18/django-auth/