본문 바로가기

내일 배움 캠프/TIL

(52)
TIL) 9주차 3일 urls.py의 주소 이용시 주의 할 점 처음에 주소를 적을 때 값을 받아오는 부분이라도 int형으로 받는것과 str형으로 받는것과 차이가 있어서 주소창에서도 다르다는걸 인식을 하겠지 하는 생각이였다. 그래서 아래와 같은 코드를 짰다. urlpatterns = [ path('/', views.CategoryView.as_view(), name='category_view'), path('/', views.PostDetailView.as_view(), name='post_detail_view'), ] 하지만 예상과는 다르게 오류는 나지않지만 계속 빈 리스트를 내보냈다. 그래서 알게된점이 주소를 받을때 str형으로 받든 int형으로 받든 결국 안에서 받아오는것이기 때문에 컴퓨터에선 이를 판별 할 수 없다라는 ..
TIL) 9주차 2일 오늘 본격적으로 팀과 협의해서 백엔드부분을 나눠서 작업했다. 저녁에 풀 리퀘스트를 하며 머지를 하는 시간을 가졌는데 역시 한번에 끝나는 경우가 없었다.. 여전히 깃허브는 다루기가 매우 힘든것같다 ㅠㅠ.. 내일도 화이팅! admin.py의 UserAdmin 클래스 추가하기 기본 admin 페이지는 다음과 같다. 이런 상태의 admin 페이지를 UserAdmin이라는 클래스를 통해 커스텀 해줄 것이다. 먼저 기본 admin를 꾸며볼 것이다. class UserAdmin(BaseUserAdmin): form = UserChangeForm add_form = UserCreationForm list_display = ["username", "email", "name", "age", "introduction", "..
TIL) 9주차 1일 3번째 프로젝트가 시작됐다. 저번 프로젝트와 비슷한듯 다른 느낌인데 이번엔 drf를 이용해 session방식이 아닌 token방식으로 받아오는식으로 해야한다는점에서 다르다고 할 수 있다. 내일도 화이팅! E1I4의 팀 프로젝트 Concept 영상 매체 리뷰 사이트 레퍼런스 https://pedia.watcha.com/ko-KR/ 왓챠피디아 - 영화, 책, TV 프로그램 추천 및 평가 서비스 6억 개의 평가를 기반으로 나에게 딱 맞는 영화, 드라마, 책을 추천받으세요. pedia.watcha.com 와이어 프레임 ERD API 명세서 https://www.notion.so/woongpang/01fe568937d2432e83d299cc05cced39?v=dc8298b65e2d45a7bf8386f6faf1cd..
TIL) 8주차 4일 test에 대해서 공부중인데 아직까지 이걸 꼭 해야하나 싶다.. 오늘도 화이팅! self.assertEqual() 괄호 안에 두 값을 비교하는 함수 예시1) self.assertEqual(2,3) - 2와 3을 비교하는데 다르니까 'FAILED'가 나온다. 예시2) self.assertEqual(response.status_code, 200) - response의 status코드를 비교하는 것으로 200이 나오면 'OK'가 나오고 아니면 FAILED가 나온다. from django.urls import reverse reverse 는 urls.py의 urlpatterns 안에 있는 name값들을 이용해서 해당 path를 가져올 수 있다. 예시1) url = reverse("user_view") - use..
TIL) 8주차 3일 하면 할 수록 어려운 알고리즘.. 그래도 혼자 하는게 아니라 팀원들과 다같이 해서 다양한 답이 나온다 오늘도 화이팅! 코딩테스트 - 파스칼 함수 구하기 나는 처음에 접근을 빈 리스트를 초기화 해주고 그안에 인덱스 0 부터 값을 넣어주면 되겠다 라고 생각했다. 그래서 짠 코드가 아래 코드이다. def pascal(n): p=[] p[0] = 1 . . . retunr p 이런식으로 생각을 했었는데 IndexError가 떴다. 아예 잘못 생각 하고 있던것이다... 파이썬에선 리스트에 값을 추가 해주려면 append() 또는 extend() 또는 += 를 사용 해주어야 한다. 다음으로 생각해낸것이 아래코드이다. def pascal(n): if n 2 : return [1] + [pascal(n-1)] + [1..
TIL) 8주차 1일 어느덧 8주차가 되었다. 이렇게 코딩에 몰두할 시간을 가진적은 거의 없었는데 점점 재밌어지는거 같다ㅎㅎ 오늘도 화이팅! mutable? immutable? 프로그래머스 - 2차원으로 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/120842 문제 자체는 어렵지 않았다. n번만큼 num_list를 쪼개서 다른 빈 리스트에 넣어주는 형식으로 해주면 쉽게 풀 수 있는 문제인데, 여기서 중요한점은 for문이 돌아간 뒤 빈리스트로 초기화를 시켜주어야 한다는 점이다. 코드는 아래와 같다. def solution(n_list, n): temp = [] answer = [] a = 0 num = 0 while (a < len(n_list)//n): for..
TIL) 7주차 5일 오늘에서야 개인과제 시작! 역시 어렵다 어려워.. 오늘도 화이팅! users의 LoginView 기존에 강의에서 배웠던 로그인 뷰를 실행하면 아래와 같이 refresh토큰과 access토큰만 받아와 졌다. 기존과 받아오는 형식과 달리 로그인 하는 아이디의 id, email, token 3가지를 받아오고 싶었기 때문에 views.py의 login함수를 변경해주었다. # 기존 코드 class CustomTokenObtainPairView(TokenObtainPairView): serializer_class = CustomTokenObtainPairSerializer # 변경 코드 class CustomTokenObtainPairView(APIView): def post(self, request): try: ..
TIL) 7주차 4일 컨디션이 너무 별로네.. 어머니는 여전히 병명을 찾지 못하고 계셔서 마음이 너무 불편하다.. 그럼에도 오늘도 화이팅 users/serializers.py 설정 1. serializers.py에서 class Meta 안의 필드를 지정해줄때 __all__이 아니라 하나만 지정해주고 싶을때에도 반드시 ,(콤마)를 붙여주어야 한다. 아래는 예시 class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields = ("content",) 2. 회원가입 / 수정에 필요한 함수 처음에 썻던 코드는 아래와 같다. def create(self, validated_data): user = super().create(validated_data..