BackEnd 프로젝트 후기 API를 저장하는 첫 순간부터 SCSS를 적용하는 마지막 순간까지 고난과 역경의 연속이었지만 결국 해냈고, 많은 것을 배웠습니다. Github 브랜치를 활용하여 작업을 진행하였습니다. 큰 줄기들 1. 어떤 API 를 사용해야 하지? 영화진흥원, 네이버 영화, TMDB API 등 다양한 API 서비스가 존재하였습니다. 우리는 영화정보를 보여주고 추천해주는 서비스가 MVP 였기 때문에 영화의 제목과 랭킹이 잘 구현되어있는 TMDB API를 사용하였습니다. 네이버 영화는 하나씩 검색만 할 수 있는 구조였으며 영화진흥원은 json의 데이터구조가 TMDB 와 아주 달라 TMDB API만을 사용하였습니다. 2. API를 받아는 왔는데.. 어떻게 저장하지? 그동안의 실습에서는 주어진 js..
수정 전 : Movie 모델에 "bookmarked_users" 다대다 필드를 만들었음에도 불구하고 필드가 출력되지 않아 북마크 기능이 실행되지 않는 문제가 발생하였다. 문제 해결 MovieListSerializer를 불러오고, 그 안에 필터링을 거친 영화 쿼리셋을 넣고 .data 로 출력하였다. 맨 하단에 "bookmarked_users" 가 출력된다. 참고자료 https://www.py4u.net/discuss/249585
# 프로필 정보 # StringRelatedField class MovieSerializer(serializers.ModelSerializer): class Meta: model = Movie fields = '__all__' class ProfileSerializer(serializers.ModelSerializer): # bookmarked_movies = MovieSerializer(many=True) followings = serializers.StringRelatedField(many=True) followers = serializers.StringRelatedField(many=True) followings_count = serializers.IntegerField(source='followi..
bookmared_movies 에 원래는 movie id만 출력되었었다. 다음과 같이 해당하는 id의 영화데이터를 출력하려고 했는데 막막했다. { "username": "test1", "followings_count": 1, "followings": [ "test2" ], "followers_count": 1, "followers": [ "test2" ], "bookmarked_movies": [ { "id": 11, "title": "스타워즈: 에피소드 4 새로운 희망", "overview": "공화국이 붕괴하고 제국이 수립된 뒤 20년, 제다이 기사단은 전멸하고 강력한 제국군의 횡포에 은하계는 공포에 휩싸여 있다. 그러던 중 공화국 재건을 노리는 반란군이 제국군의 비밀병기 데스스타 설계도를 훔쳐 달아..
수정전 { "username": "test1", "followings_count": 0, "followings": [], "followers_count": 1, "followers": [ 6 ], "bookmarked_movies": [ 11 ] } 수정후 - followings, followers, bookmakared_movies 의 내용 출력 어떻게? Primary Key 대신 밸류값을 보내기 위해 StringRelatedField를 사용한다. '__str__' 메서드가 내부에 있다고 한다. 현재 User 모델에서 다대다 관계, Movie 모델에서 일대다 관계를 설정해주고 있기 때문에 적용이 가능하다. class User(AbstractUser): followings = models.ManyToMa..
수정전 { "id": 20, "content": "1", "rank": 5, "created_at": "2021-11-22T21:25:09.710518", "updated_at": "2021-11-22T21:25:09.710546", "user": 5, "movie": 13 } 수정후 - user 이름을 출력 # 리뷰 상세 class UsernameSerializer(serializers.ModelSerializer): class Meta: model = get_user_model() fields = ('id', 'username',) class ReviewSerializer(serializers.ModelSerializer): user = UsernameSerializer(read_only=True) ..
AssertionError at /accounts/6/follow/ Expected a `Response`, `HttpResponse` or `HttpStreamingResponse` to be returned from the view, but received a `` Request Method:POSTRequest URL:http://127.0.0.1:8000/accounts/6/follow/Django Version:3.2.9Exception Type:AssertionError # 팔로우 @api_view(['POST']) @permission_classes([AllowAny]) def follow(request, user_pk): ... data = { 'message' : 'follow!' } r..
- Total
- Today
- Yesterday
- 클린코더
- 개발자커리
- 브왈라
- 한글무료폰트추천
- 맥과윈도우로깃허브
- 무료폰트추천
- ssafy6기
- 상업용무료폰트
- 코딩도서
- 싸피
- SSAFY
- intj여자
- 개발자로드맵
- 폰트
- 디즈니얼굴
- ssafy합격후기
- 개발도서추천
- 폰트추천
- 클린코드
- ssafy결과
- 개발언어추천
- 싸피6기
- ssafy후기
- 개발자책추천
- 개발자도서추천
- 깃허브계정2개
- 개발언어순위
- 개발자
- 깃허브계정
- 임대차3법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |