Django의 AbstractBaseUser를 커스텀해서 나만의 모델을 만들자accounts/models.pyaccounts/forms.pyaccounts/admin.py이로서 가장 기본적인 AbstractBaseUser를 상속받아서Fully Customize를 할 수
1. install django debug toolbar 2. settings.py 3. urls.py
https://stackoverflow.com/questions/26015160/deterministic-no-sql-or-reads-sql-data-in-its-declaration-and-binary-logging-i
그래서 기존 DB를 django에 연결하고 migrate까지 컨트롤하도록 하자이후models의 managed = True로 변경이렇게 하면 이후 makemigrations와 migrate을 진행하여 기존 DB에도 변경을 줄 수 있다.dasd
그 이유를 알기 위해서는 STATIC이 뭔지 알아야 한다.웹 서버 초기에는 단순한 정적 html 파일들을 서빙하는 것이었다.그런 파일들이 많아짐에 따라 동적인 컨텐츠를 서빙하는 방식으로 변경되었다.시간이 지남에 따라 동적 컨텐츠를 서버에서 제공하는 것이 어려워지자동적
개발 단계에서 사용하는 정적 파일이 위치한 경로들을 지정하는 설정 항목특정 Django App에만 사용하는 정적 파일이 있거나, 정적 파일을 관리하기 용이하게여러 경로에 정적 파일을 배치했다면, 이 경로들을 담는다.반드시 / 로 끝나야한다.명령어로 탐색되는 정적 파일
데이터 베이스에서 python 메모리로 가져오지 않고데이터 베이스 레벨에서 연산을 해준다.값을 변경하고 save()까지 호출헀지만, student의 값은 변경되지 않아서실제 변경된 값을 알지 못하는 상태로 저장이 되어있다.따라서 값을 가져올 때는 get() 메서드나 r
login_require.pymy_view.pylogin view ( post, delete 요청 > 로그인, 로그아웃)
init 파일을 제외한 나머지 모든 마이그레이션 파일 삭제데이터베이스 테이블 삭제makemigrations & migration 진행init 파일을 제외한 나머지 모든 마이그레이션 파일 삭제데이터베이스 테이블 유지settings.py에서 등록했던 자신의 앱 전부 주석
Gunicorn 로그 확인하기
models.py
config/settings/celery_cof.pyconfig/settings/init.pymy_app/tasks.pyconfig/settings/dev.py@shared_task로 지정된 함수를 호출 하고 delay and get하면 된다.
SCSS 적용하기 1. install libs 2. Settings 3. 사용법
API의 응답 형태에 변화를 줄 수 있는 ModelSerializer 내장 메서드예를 들어 아래와 같은 테이블이 있다고 가정합시다.흡사 인스타그램 등과 같은 SNS 서비스에서 볼 거같은 테이블입니다.게시글 ( Post ) 과 게시글의 이미지 ( PostImage )들
modelviewset은 각 action별로 처리한다.create ( POST ) - 생성list ( GET ) - 조회 retrieve ( GET ) - 개별 조회update - ( PUT ) - 수정partial_update ( PATCH ) - 부분 수정destr
위와 같이 개별로 쭉 쿼리 스트링을 가져온다면쿼리스트링 필요 여부에 따라 if 문이 무한이 반복될 수 있다.if문이 병렬로 늘어나던 직렬로 늘어나던 상관없이많은 필터링 조건들이 요청 데이터로 넘어왔는지하나하나 신경 써야한다.이 얼마나 아름다운지 보이십니까filterse
요청이 들어오면 WSGI 처리기가 인스턴스화 된다.지정한 settings.py 파일과 Django exception 클래스들을 불러온다settings.py 에서 MIDDLEWARE_CLASSES 또는 MIDDLEWARES 튜플을 통해 미들웨어 클래스를 불러온다.뷰, 응
문서에 따르면 get_authenticators 메서드는authenticators 집합을 리턴한다고 한다.ModelViewSet에서 액션이 호출될 때 (view) 자동으로 호출되며,오버라이드 하면 직접 인증 모듈을 부여할 수 있다.호출 순서가 ModelViewSet의
DRF의 강력한 power 중 하나인 serialzer에는 강력한 만큼 리스크가 존재한다.실 서비스는 성능이 주요한 요인 중 하나인데, 그 성능과 직접적인 관련이 있는 중 하나가serializer다.이번 포스팅은 이와 관련하여 감명깊게 본 아티클 하나를 소개하고자 한다
분리된 어플리케이션의 작업이 발생했음을 알려주고 처리할 수 있는 기능JS의 이벤트 리스너와 유사한 개념둘러보기메서드유튜브 링크This is sent at the beginning of a model’s save() method.Like pre_save, but sent
Prefetch로 실행되는 쿼리문을 list로 반환하고 캐시로 내장하는 기능일반적으로 질의를 하게 됐을 경우, 접근할 때마다 질의를 수행하게 되고그로 인해서 쿼리 양이 많아지게 된다.to_attr은 쿼리 결과를 리스트로 담고 있기 때문에 추가적인 쿼리가 발생하지 않으며
어플리케이션들의 메시지를 중간에서 관리해주는 시스템.여러 클라이언트 시스템간에 메시지 통신을 중간에서 관리하여각각의 클라이언트 시스템간의 종속성 및 결속성을 낮춘다.메시지를 보내는 이는 받는 이의 주소를 몰라도 보낼 수 있다.queue 공간이자, task들을 처리 및
쉽게 말해 하나의 api 엔드포인트를 통해 path를 판별하여 해당 path에 맞는 api로 매칭해주는 것.views.py
로그아웃을 호출하는 순간 클라이언트는 access 토큰을 삭제하고,refresh 토큰을 데이터로 보낸다.서버는 refresh 토큰을 블랙리스트에 저장시킨다.
커스텀 Filterset을 작성할 경우, django_filters를 import하는 것 대신 rest_framework 서브 패키지를 import 해야한다. filter_backends에 DjangoFilterBackend 추가해야한다.filterSet으로 필터링을
클라이언트 < - > 가맹점 서버 (개발 서버) < - > PG 서버 < - > 카드사 서버위 구조로 결제가 이루어진다.아임포트는 중계자 역할을 한다. 아임포트가 PG사에 요쳥을 하고 결제 정보를 가맹점 서버에 전달해주는 것.프로세스는 아래와 같다.클라
1. 버튼 만들기 + 버튼 누르면 custom view로 이동 2. custom_template.html 3. 버튼누르면이동할_템플릿.html
1. S3 이미지 업로드 Flow 서버로 presigned url 요청 서버는 s3로부터 presigned url 생성 생성된 presigned url을 클라이언트에게 전달 클라이언트는 받은 presigned url로 직접 s3에 이미지 업로드 업로드 후 이미지 UR
1. 사용자와 Device 정보가 같이 서버에 전송되는 경우 > 2. 사용자만 전달 되는 경우 > 3. 디바이스 정보만 전달되는 경우 >
APScheduler는 워커 프로세스 개수만큼 생성된다.즉, 워커 프로세스마다 스케쥴러가 할당되기 때문에 중복 실행될 가능성이 높다.Celery Beat는 task들을 Message Queue에 담는다.그러면 celery가 message queue를 보고 task를 실
Production 서버와 Dev 서버를 분리해서 개발하는 게 보통인데, 이럴 경우 데이터를 옮기는 방법이다.content type과 auth permission, auth group과 관련된 데이터를 미리 설정해두고위 dump 명령어를 통해 데이터를 덤프 뜬다.
서비스를 MSA와 시키는 decoupling 작업을 하면서SQS와 Lambda로 빅데이터를 처리 중이었다.하지만 이 구조를 만들면서 굉장히 맘에 들지 않았다. 그 이유는 바로Django의 ORM이나 Celery를 사용할 수 없었다는 점.그래서 Pub/Sub 구조의 카프
Django Admin은 Model에 의존성이 강해서 모델없이 어드민 view를 추가하거나 기존 admin 모듈에 내 view를 추가하는 방법을 찾았다.나의 요구사항은 아래와 같았다.확장성 가능해야함.admin.site.urls에 내 admin view의 path가 자
클린 아키텍처는 이러한 요건을 만족하는, '추상화 개념'으로관심사를 분리시키고 의존도를 낮추는 것에 목적을 둔 아키텍처의존도를 낮추고 서로에게 주는 영향을 감소함으로써 유지보수의 용이성 향상.덕에 낮은 비용으로 새로운 기능 추가 용이.출처 : http://bl