728x90
반응형

아뉘 어제 역대급으로 집중이 안 된 날이었는데 현타 와서 뭐 해야되는지 리스트업이라도 해봤다. 근데 할 일이 엄청 많은 거다.

프로젝트에 실질적으로 필요한 것만 미친듯이 복습 돌렸더니 안 돼있는 게 너무 많았다.

추가적으로 궁금한 거나 그런 건 미룰 수 있다 쳐도 필수 과정이 밀려있다니 개빡쳐

그래서 오늘 열심히 달리려 했는데 아뉘ㅣㅣㅣㅣ 짧은 영상이고 쉬운 테스트 코드인데 왜 자꾸 에러가 나는겨

Faker도 한 열 번은 지웠다 깔았다 한 거 같은데 그 놈의 No module 😡😡😡😡😡 열 번 좀 넘어서인가 똑같이 uninstall 하고 install 했더니 갑자기 또 돼서 이유가 뭔지도 모르겠다.

멍청한 맥북 맨날 모듈 인식도 못하고 으휴🤦🏻‍♀️으휴🤦🏻‍♀️  그래도 배터리 오래 가고 성능 좋으니까 사랑한다ㅏㅏ

그래도 어찌어찌 오늘 5주차 겨우 다 들었따.

프로젝트 때 밤 새고 이런 건 재미라도 있지 강의 듣는 건 너무 지루하다.

매번 집중 안 된다면서 꾸역꾸역 다 듣고 마는 남자친구가 대단할 따름.... 오늘도 프젝을 위해 나도 꾸역꾸역 한 발자국씩 나아가본당..... ㄹㅇ 개미 발걸음만큼씩

 

KeyError : ‘access’


  • 에러 사진

# 에러를 발생시킨 작성 코드
class ArticleCreateTest(APITestCase) :
    @classmethod
    def setUpTestData(cls) :
        # class method 안에서 정의됐기 때문에 인스턴스가 아닌 클래스의 attribute로 들어가게 되고, 그 밑에 인스턴스들도 가지게 된다.
        cls.user_data = {"email" :"john@naver.com","nickname" : "john", "phone_number":"01012341234","password" : "johnpassword"}
        cls.article_data = {"title" : "some title", "content" : "some content"}
        cls.user = User.objects.create_user('john@naver.com', 'johnpassword', '01012341234')
    
    # .client는 class method가 아니기 때문에 cls가 아닌 self로부터 불러와야 한다. 때문에 이 부분만 따로 setUp으로 불러온다.    
    def setUp(self) :
        self.access_token = self.client.post(reverse('token_obtain_pair'), self.user_data).data['access']
        
        print(self.access_token)
    
    def test_fail_if_not_logged_in(self) :
        url = reverse("feed_view")
        response = self.client.post(url, self.article_data)
        self.assertEqual(response.status_code, 401)

# 해결 코드
    @classmethod
    def setUpTestData(cls) :
        # class method 안에서 정의됐기 때문에 인스턴스가 아닌 클래스의 attribute로 들어가게 되고, 그 밑에 인스턴스들도 가지게 된다.
        cls.user_data = {"email" :"john@naver.com","nickname" : "john", "phone_number":"01012341234","password" : "johnpassword"}
        cls.article_data = {"title" : "some title", "content" : "some content"}
        cls.user = User.objects.create_user('john@naver.com','john','01012341234' , 'johnpassword')

# models.py
class UserManager(BaseUserManager):
    def create_user(self, email, nickname, phone_number, password=None):
  • 깨달은 점 : 항상 모델링이 어떻게 되어있는지 꼼꼼하게 보자^^ 뎬댱

‘NoneType’ object has no attribute ‘seek’


  • 에러 사진

  • 시도해 본 것 : Pillow도 재설치 해봤다가, 설치할 때 파이썬 버전과 pip 버전 명시, Image 모듈 설치 등 시도해 봄.
  • 에러 이유 : 아… 정말 단순하게도 미리 정의해 둔 get_temporary_image 메소드에 return값을 빼먹었었다… 🤦🏻‍♀️ 파일이 암것도 없으니 당연히 NoneType 어쩌구 하지…
  • 해결 : 해당 메소드에 return temp_file 코드 추가 작성

TypeError: Article() got unexpected keyword arguments: ‘user’


  • 에러 발생 이유 : 내가 한 모델링에는 author라고 되어있는데 무지성으로 강의 따라해서 user라고 적었다고 발생한 에러
  • 해결 : author라고 고쳤다.

exceptions.NoReverseMatch


  • 에러 사진

  • 에러 발생 이유 : 내가 짠 url에는 'int:article_id/'라고 돼있는데 강의대로 pk라고 작성해서 문제였던 것.
  • 알게된 점 : 오 이건 좀 의외였다. 근본적으로는 위 에러와 같이 무지성으로 강의를 따라해서 일어난 일이긴 한데, url쪽은 생각도 못 하고 있었다. 확실히 튜터님 말대로 튜터님이 준비해주신 파일이 아니라 내 파일에 맞게 테스트 코드를 작성하다 보니 에러를 더 많이 만나는 대신 더 정확하게 알게 되는 것 같다.
# urls.py
    path('<int:article_id>/', views.ArticleDetailView.as_view(), name="article_detail_view"),

# 수정 전 models.pyy
def get_absolute_url(self) :
    return reverse("article_detail_view", kwargs = {"pk":self.pk})

# 수정 후 models.py
def get_absolute_url(self) :
    return reverse("article_detail_view", kwargs = {"article_id":self.pk})

 

반응형

'Programming > TIL and WIL' 카테고리의 다른 글

오늘의 til...  (0) 2022.11.14
💖Weekly I Learned💖  (0) 2022.11.14
💖 221111 Today I Learned 💖  (0) 2022.11.12
221110 TIL  (0) 2022.11.11
💖 221109 Today I Learned💖  (0) 2022.11.09

+ Recent posts