본문 바로가기

전체 글232

13-Testing 테스트가 없는 코드는 잘못 설계된 코드입니다. - Jacob Kaplan-Moss REST 프레임워크에는 Django의 기존 테스트 프레임워크를 확장하고 API요청 지원을 개선하는 몇 가지 support 클래스가 포함되어 있습니다. APIRequestFactory Django의 RequestFactory 클래스를 확장합니다. Creating test requests APIRequestFactory 클래스는 Django의 표준 RequestFactory 클래스와 거의 동일한 API를 지원합니다. 이는 표준 .get(), .post(), .put(), .patch(), .delete(), .head() 및 .options()메서드를 모두 사용할 수 있음을 의미합니다. from rest_framework.te.. 2021. 8. 24.
12-Validators Validators DRF에서 유효성 검사를 처리하는 대부분의 경우 단순히 기본 필드 유효성 검사에 의존하거나 serialzier 또는 필드 클래스에 대한 명시적 유효성 검사 메서드를 작성합니다. 그러나 때로는 유효성 검사 로직을 재사용 가능한 구성 요소에 배치하여 코드베이스 전체에서 쉽게 재사용할 수 있도록 하고 싶을 때가 있습니다. 이것은 벨리데이터 함수와 벨리데이터 클래스를 사용하여 해결할 수 있습니다. Validation in REST framework DRF에서 serializer의 벨리데이션은 Django의 ModelForm 클래스에서 벨리데이션이 작동하는 방식과 약간 다르게 처리됩니다. ModelForm을 사용하면 벨리데이션 폼에서 부분적(partial)으로 실행되고 모델 인스턴스에서 부분적.. 2021. 8. 18.
Django Channel Tutorial Part 1 django project 만들기 장고를 실행하기 전에 먼저 가상환경을 세팅해준 후 mysite라는 이름을 가진 프로젝트를 만들겠습니다. 1. python3 -m venv myvenv 2. pip isntall django 3. django-admin startproject mysite . 그러면 다음과 같은 project가 만들어 진 것을 확인할 수 있습니다. Chat app 만들기 다음은 chat이라는 app을 만들겠습니다. 명령어는 다음과 같습니다. python manage.py startapp chat 그럼 다음과 같은 디렉토리 구조가 나옵니다. 여기서 저희는 chat이라는 app에서 views.py와 init.py만 남겨두고 나머지는 다 삭제하겠습니다. 왜냐하면 이것으로만 작업을 진행하기 때문입.. 2021. 7. 28.
Django Channels란 Django Channels를 알기전 websocket 알아가기 웹 소켓은 HTML5의 표준 기술로, 사용자의 브라우저와 서버 사이의 동적인 양방향 연결 채널을 구성합니다. Websocket API를 통해 서버로 메시지를 보내고, 요청 없이 응답을 받아오는 것이 가능합니다. 현재 API는 W3C에서 관장하고 있으며 프로톸로은 IETF에서 관리하고 있습니다. 웹 소켓은 별도의 포트를 사용하지 않고 HTTP와 같은 80번 포트를 사용하고 있는데, 이 때문에 클라이언트인 웹브라우저 뿐만 아니라 웹 서버도 기능을 지원하고 있어야만 합니다. Django Channels Channels는 웹소켓, 채팅 프로토콜, IoT 프로토콜 등을 처리하기 위해 Django를 HTTP이상으로 확장하는 프로젝트입니다. ASGI라는.. 2021. 7. 24.
엘리스(elice) 레이서 1기 후기 1기 출신 레이서 후기 1. 다양한 과정을 배울 수 있어서 좋다.(전산학, 프론트엔드, 백엔드, 데이터분석, AI 등) 2. 수업 외에도 다양한 스터디를 운영해서 기존 배운것 뿐만 아니라 모자란 부분을 더 채워 나갈 수 있다. 3. 3번의 프로젝트 과정을 통해 코딩과 더 친해질수 있다?..(개인프로젝트 1회, 팀프로젝트 2회) 4. 프로젝트 기간중 각 팀 마다 코치님이 있어서 현업에서 필요한 기술? 코딩스타일이나 궁금한 점을 더 쉽게 질문 할 수 있다. 5. 또한 다양한 레이서들이 있어서 부족하면 질문하고 알려주는 좋은 커뮤니티를 운영??한다 6. 프로젝트가 다 끝나고 취업을 준비할때 진짜 많은 지원을 해준다.. 이렇게 좋은 트랙이 3기를 모집한다고 하니 공고 하나 올리겠습니다.😀😀😀😀😀😀 3기 레이서 .. 2021. 7. 19.
11. Serializer relations Serializer relations 관계형 필드는 모델 관계를 나타내는 데 사용됩니다. 이는 ForeignKey, ManyToManyField 및 OneToOneField 관계에 적용할 수 있을 뿐만 아니라 반전 관계 및 GenericForeignKey와 같은 사용자 지정 관계에도 적용할 수 있습니다. 참고 : 관계형 필드는 Relations.py에 선언되어 있지만 규칙에 따라 from rest_framework import serializers를 사용하여 serializers 모듈에서 가져와야 하며 필드를 serializer.으로 참조해야 합니다. Inspecting relationships ModelSerializer 클래스를 사용하면 시리얼라이저 필드와 관계가 자동으로 생성됩니다. 자동으로 생성된.. 2021. 7. 18.
10. Serializer fields Form 클래스의 각 필드는 데이터의 유효성을 검사할 뿐만 아니라 데이터를 "정리"하여 일관된 형식으로 정규화합니다. 시리얼라이저 필드는 기본 값과 내부 데이터 유형 간의 변환을 처리합니다. 또한 입력 값의 유효성을 검사하고 상위 개체에서 값을 검색하고 설정하는 작업도 처리합니다. 참고 : 시리얼라이저 필드는 fields.py에 선언되어 있지만 규칙에 따라 from rest_framework import serializers 를 사용하여 필드를 가져와야 하며 필드를 serializers.으로 참조해야합니다. Core arguments 각 시리얼라이저 필드 클래스 생성자는 최소한 이러한 아규먼트를 사용합니다. 일부 Field 클래스는 추가 필드별 아규먼트를 사용하지만 다음과 같은 내용들은 항상 허용되어야 .. 2021. 7. 16.
9-3 Serializer-3 HyperlinkedModelSerializer HyperlinkedModelSerializer 클래스는 기본 키가 아닌 하이퍼링크를 사용하여 관계를 나타내는 것을 제외하고 ModelSerializer 클래스와 유사합니다. 기본적으로 시리얼라이저는 기본 키 필드 대신 URL필드를 포함합니다. url 필드는 HyperlinkedIdentityField 시리얼라이저 필드를 사용하여 표시되고 모델의 모든 관계는 HyperlinkedRelatedField 시리얼라이저 필드를 사용하여 표시됩니다. 다음과 같이 필드 옵션에 기본키를 추가하여 명시적으로 기본 키를 포함할 수 있습니다. class AccountSerializer(serializers.HyperlinkedModelSerializer): class Met.. 2021. 7. 15.
9-2 Serializers-2 ModelSerializer 종종 Django 모델 정의와 밀접하게 매핑되는 serializer 클래스를 원할 것입니다. ModelSerializer 클래스는 모델 필드에 해당하는 필드가 있는 Serializer 클래스를 자동으로 만들 수 있는 shortcut을 제공합니다. ModelSerializer 클래스는 다음을 제외하고 일반 Serializer 클래스와 동일합니다. 모델에 따라 자동으로 필드셋을 생성합니다. unique_together 벨리데이터와 같은 serializer에 대한 벨리데이터를 자동으로 생성합니다. 여기에는 .create() 및 .update()의 간단한 기본 구현이 포함됩니다. ModelSerializer는 다음과 같이 생성할 수 있습니다. class AccountSerialize.. 2021. 7. 15.