인코스런 2기 8

커머스 프로젝트 7주차 WIL + 인코스런 수료 소감

Python 정규표현식 re 모듈 컴파일 메소드 re.compile('정규식'): 패턴 객체(p)를 반환 문자열 검색 메소드 p.match('정규식') : 문자열의 처음부터 검색, match 객체 또는 None 반환 p.search('정규식') : 문자열 전체를 검색 p.findall('정규식') : 정규식과 매치되는 모든 문자열을 리스트 형태로 반환 p.finditer('정규식') : 정규식과 매치되는 모든 문자열을 반복 가능한 객체로 반환 컴파일과 검색을 한 번에 수행하는 방법 : re.match('정규식', '문자열')과 같이 사용 메타 문자(meta characters) : 특별한 용도로 사용되는 문자 [] : 문자 클래스, [ ] 사이의 문자들과 매치 [ ] 안의 두 문자 사이에 하이픈(-)을 ..

인코스런 2기 2022.07.31

커머스 프로젝트 5주차 WIL

Django Queryset Filter Not Null 필터 null인 object만: 모델명.objects.filter(필드명__isnull=True) null인 object 제외: 모델명.objects.exclude(필드명__isnull=True) null이거나 빈 문자열인 object 제외 모델명.objects.exclude(필드명__isnull=True).exclude(필드명__exact='') django.db.models.Q: OR 연산 가능하게 해 줌 → 모델명.objects.exclude(Q(필드명__isnull=True) | Q(필드명__exact='') https://stackoverflow.com/questions/844556/how-to-filter-empty-or-null-nam..

인코스런 2기 2022.07.16

커머스 프로젝트 4주차 WIL

DRF perform_create() Django Generic View에서 제공하는 메소드 serializer의 create() 메소드의 일부분을 오버라이딩할 때 사용 serializer.save()가 호출될 때 perform_create()가 호출됨 object의 특정 속성을 자동으로 설정해야 할 때 유용 https://www.django-rest-framework.org/api-guide/generic-views/ https://jomuljomul.tistory.com/entry/Django-REST-Framework-create-vs-performcreate lookup_field id 말고 다른 필드로 오브젝트를 찾고 싶을 때 사용 View랑 Serializer 둘 다 설정해줘야 함 https:..

인코스런 2기 2022.07.10

커머스 프로젝트 3주차 WIL

외부 URL로부터 이미지 다운받아서 ImageField에 저장하기 from tempfile import NamedTemporaryFile from django.core.files import File from urllib.request import urlopen # Serializer def create(self, validated_data): img_temp = NamedTemporaryFile(delete=True) img_temp.write(urlopen('이미지 URL').read()) img_temp.flush() [모델명].[이미지필드].save('파일명', File(img_temp)) https://stackoverflow.com/questions/16381241/django-save-ima..

인코스런 2기 2022.07.03

Day4 - 장고 온보딩 프로젝트 4

학습한 내용 FilterSets NumberFilter https://django-filter.readthedocs.io/en/stable/guide/rest_framework.html#adding-a-filterset-with-filterset-class NumberFilter: 숫자 값 기준으로 필터 gte: 이상(greater than or equal) lte:이하(less than or equal) gt: 초과(greater than) lt: 미만(less than) from django_filters import rest_framework as filters class MovieFilter(filters.FilterSet): avg_rating_filter = filters.NumberFilte..

인코스런 2기 2022.06.10

Day3 - 장고 온보딩 프로젝트 3

학습한 내용 Validation https://www.django-rest-framework.org/api-guide/serializers/#validation Serializer의 validate() 메소드 작성 validate() 메소드를 통해 검증된 데이터가 create(), update() 메소드의 validated_data로 전달된다. Annotate Field annotate(): 파생변수 추가할 때 사용 https://docs.djangoproject.com/en/4.0/ref/models/querysets/#annotate Aggregation Function 종류: Avg, Count, Max, Min, Sum 등 하나의 값을 반환 Coalesce: aggregate가 None을 반환하는..

인코스런 2기 2022.06.09

Day2 - 장고 온보딩 프로젝트 2

원래 어제 썼어야 하는데 피곤해서 일찍 잠들어버리는 바람에 오늘 쓴다. 오늘은 본격적으로 Django Rest Framework 사용법을 익혔다. 학습한 내용 DRF Generic View & Serializer Generic View https://www.django-rest-framework.org/api-guide/generic-views/ 빠르게 뷰를 생성할 수 있다. 패키지 추가: from rest_framework import generics Generic View는 기본 클래스인 GenericAPIView와 Mixin의 결합 Mixin: Generic View와 함께 상속받아서 필요한 기능 추가 ListModelMixin: Read(GET), 여러 개(List View) RetrieveMod..

인코스런 2기 2022.06.09

Day 1 - OT & 장고 온보딩 프로젝트 1

오늘은 인코스런 첫 번째 날이었다. 설레는 마음으로 교육 장소인 똑똑한개발자 사옥에 도착했다. 먼저 간단한 OT가 있었다. 대표님과 매니저님께서 똑똑한개발자와 인코스런에 대해 설명을 해 주셨고 멘토님들과 참가자들이 한 명씩 돌아가며 자기소개를 했다. 그리고 슬랙이랑 노션 계정도 만들었고 팀 빌딩을 위해 개별 면담도 진행했다. 이번주는 본격적인 프로젝트를 시작하기 전에 필요한 기술을 익히기 위해 프론트엔드/백엔드별로 각자 주어진 과제를 해결하는 식으로 진행된다. 나는 백엔드라서 장고 온보딩 프로젝트를 하는 중인데 Django Rest Framework는 처음 사용해봐서 헤맸다. 그래도 기본적인 장고 사용법을 미리 복습하고 가길 잘 한 것 같다. 학습한 내용 깃 브랜치 생성 및 전환: git branch 브..

인코스런 2기 2022.06.07