project/project

It:em_is (2)

JM Lee 2023. 5. 10. 02:15
728x90

퓨어장고 때 제대로 하질 못해서 그런지 오늘은 장고에 대해 배운 게 많았다.

 

실전을 통해 배운다니 참 슬프고 미안했지만..

 

.env

 

시크릿 키를 깃에 내놓으면 보안이 다 털려버리기 때문에 .env를 통해 감춰줘야 한다.

 

.env 파일만 만들어놓고 .env가 그동안 왜 안됐을까 생각해봤는데..

 

pip install dotenv 를 했어야 했다.

 

settings.py에는 다음과 같이 입력하고,

import os

SECRET_KEY = os.environ.get('SECRET_KEY')

.env에 진짜 시크릿 키를 가져다 놓고, gitignore를 해

 

 

코드 분석

 

그냥 싹 한 줄 한 줄씩 만들어가면서 복습해버렸다.

 

알고리즘 풀듯이 잘 적용하면 어렵지 않을 과정이라고 생각했는데,

코드 간 연결할 때 보면 여전히 어지러워서 미쳐버릴 거 같아서

그냥 기본기를 더 탄탄히 다지는 것이 답이었다.

class followView(APIView):
    def post(self, request, user_id):
    # 메소드를 함수명으로 등록
        you = get_object_or_404(User, id=user_id)
        # user_id가 id인 모든 객체를 you라는 변수에 담아오겠다.
        me = request.user
        # 요청한 유저(followee)를 me로 변수 변형
        if me in you.followers.all():
        # user_id가 이미 요청 유저를 팔로우하고 있다면
            you.followers.remove(me)
            return Response("팔로우 취소!",status=status.HTTP_200_OK)
        else:
            you.followers.add(me)
            return Response("팔로우 완료!",status=status.HTTP_200_OK)

 

 

git 체계화

팀원 협업에서 깃 관련 능력이 부족해서

1. 새로운 branch 파기

2. sink fork 하기

3. merge 과정(remote repo> main > 내 repo)

4. merge 충돌 직접 처리하기

를 해결해보았다.

 

이 과정에서 git checkout <브랜치명>이 브랜치 이동하는 것이라는 걸 알아냈고,

후에 깃으로 정리를 다시 해봐야겠다.

 

해결하지 못한 점

 

사실 현업에서 ManyToManyField를 잘 쓰지 않는다는 점을 들어서

가능하면 강의에서 나오지 않은 1대 다 형식으로 연속연결을 하고자 했는데

정말 형용할 수 없는 오류들로 인해 결국엔 실패했다.

 

구독자님 중 코드뭉탱이 블로그 주인장께서

try/except (likes가 하나도 안 나와서 db가 없는 경우 except) 구문을 통해 이것을 해결하셨다고 하는데..

일단은 심신이 너무 지쳐서 더는 매달리지 못하겠다.

 

오늘 한 일/내일 할 일

내일은 아침에 ERD와 API 명세를 먼저 점검할 예정이다.

기획을 처음부터 완벽하게 구현한다면 좋았겠지만, 아직은 조금 더 나은 방안을 실현과정에서 만들어가는 것 같다.

 

그리고 실현한 기능들에 대해 프론트를 간단히 만들어볼 생각이다.

이것들을 생성한 다음 시간의 여유가 있을 시 추가 기능을 구현해보는 쪽으로 가닥이 잡혔다.

 

주말에 개인 시간을 각자 가지는 것을 목표로, 가즈아아아아아아아아악

'project > project' 카테고리의 다른 글

It-em-is (4)  (0) 2023.05.16
It:em_is (3)  (2) 2023.05.12
It'em_is (1)  (2) 2023.05.09
프로젝트 뭐든태그-ALLTAG (1)  (0) 2023.04.10
미니 프로젝트3 : 파이썬으로 게임 만들어보기(2)  (0) 2023.03.28