본문 바로가기

Django22

[Django/React] 20. AUTHENTICATION: LogOut Log Out 메뉴 만들기로그인 상태에서 나의 아바타(아이콘)을 클릭하면 'Log out' 메뉴가 뜬다  ChakraUI의 Toast: 유저에게 메시지를 표시(팝업처럼)하는데 사용되는 알림 시스템. 일정 시간이 지나면 자동으로 사라짐   "CSRF(Cross-Site Request Forgery) Failed"   주로 웹 애플리케이션이 CSRF 방지 메커니즘을 적용했을 때, 클라이언트 요청이 필요한 CSRF 토큰을 제공하지 않거나 잘못된 토큰을 제공했을 때 발생Django는 보안강화를 위해 어떠한 사이트에서든 post 요청을 신뢰하지 않음(디폴트로 CSRF 검증 매커니즘을 활성화) (get request는 문제없이 보낼 수 있음)   CSRF Token : CSRF 공격을 방지하기 위해 사용되는 보안 .. 2024. 11. 22.
[Django/React] 20. AUTHENTICATION: useUser / Credentials hook를 만들어서 로그인 했는지 여부를 표시  - 로그인 하면: :Log in / Sign up 버튼 대신 유저의 아바타를 표시  1) src > api.ts 에서 fetcher 함수 만들기: 로그인한 유저 정보를 가져옴 2) src > lib 폴더 생성 & lib 폴더 내 useUser.ts 파일 생성 3) src > lib > useUser.ts 파일 내에서 위에서 만든 getMe fetcher를 호출 4) src > components > Header.tsx 에서 추가  Credentials(인증 정보)  Django의 Cookie서버가 어떤 쿠키를 어떤 백엔드에 전달할 것인가  - 웹 브라우저(클라이언트)에 저장되는 작은 데이터 조각   (웹 브라우저에 저장되는 key-value 쌍 데이터)  .. 2024. 11. 18.
[Django] 12. USERS API ProfileGET /mePUT /me 1) config > urls.py 의 urlpatterns에서 path 추가2) users > urls.py 파일 만들어서 urlpatterns 생성3) users > views.py 에서 Me(APIView) 클래스 생성 4) users > serializers.py 에서 PrivateUserSerializer 클래스 생성 5) users > models.py 에서 avatar를 ImageField에서 URLField로 변경Create UserPOST /users 1) users > views.py 에서 Users(APIview) 클래스 만들기 2) users > urls.py 의 urlpatterns에서 path 추가 Change PasswordGET /use.. 2024. 8. 28.
[Django] 11_3. REST API: Customizing Serializers Room에 대한 리뷰 만들기rooms > models.py 의 Room 클래스의 rating 메서드를rooms > serializers.py 에서 불러와서 사용하기(serializer field에서) rooms > serializers.py 의 RoomDetailSerializer 클래스에서 rating을 만들고 + get_rating 메서드(이름 지키기!) 생성 RoomListSerializer 클래스에도 rating + get_rating 메서드 추가 Context특정 상황에서 필요한 데이터를 포함하고 있는 사전(dictionary) 형태의 객체주로 템플릿 엔진, 시리얼라이저, 또는 뷰에서 사용되며, 이 Context 객체를 통해 템플릿이나 시리얼라이저에서 필요한 추가적인 데이터나 변수를 전달할 수 .. 2024. 8. 26.
[Django] 11_2. REST API: Rooms GET   Authentication만약 데이터베이스의 모든 room을 가지고 오고 싶다면:/rooms에서 GET request-> 모든 room을 가져와서 serialize-> room을 reponse로 리턴  새 room을 만드려면:authenticate 과정이 필요 & 만드는 사람이 host 이어야 & 카테고리도 지정 & 어떤 amenity를 가지고 있는지 즉, serializer 간의 relationship을 만들 줄 알아야!  1) rooms > views.py 에서 Rooms(APIView) 클래스 만들기 2) rooms > urls.py 의 urlpatterns 에 빈 path 만들기 3) rooms > serializers.py 에서 RoomSerializer(ModelSerializer).. 2024. 8. 12.
[Django] 11_1. REST API: amenities / perks 1. amenities  아래 두 가지 API를 만들어본다 1-1. /amenities: GET, POST1-2. /amenities/1: GET, PUT, DELETE  2-1. /perks: GET, POST 2-2. /perks/1: GET, PUT, DELETE  POST: 새로운 리소스를 생성 PUT: 기존 리소스를 업데이트(수정)  모든 view function은 request를 받는다(django default)  1-1. /amenities: GET, POST 1) rooms > views.py 에서 클래스 만들기2) rooms > urls.py 의 urlpatterns에서 경로 추가 3) rooms > serializers.py 파일 생성하여 serializer 만들기 ModelSeria.. 2024. 8. 6.
반응형