Django를 설치하는 명령어는 다음과 같다.django-admin은 django의 관리 작업을 위한 커맨드 라인django-admin optionsdjango -m django optionsdjango manage.py optionspath를 설정해주지 않으면 fil
Django App 은 Django애서 사용하는 파이썬 패키지입니다. App을 생성하는 명령은 여러가지가 있을 수 있으나 대표적으로 2가지가 있습니다.다음과 같이 명령을 실행하면 \[App_name]명을 사용해 새로운 Django App을 생성하는 명령입니다.그러면 다
Django는 MVT(Model View Template) 아키텍처를 기반으로 하며 CRUD(Create, Retrieve, Update, Delete) 작업을 중심으로 합니다.Create : DB에 데이터를 생성함Read : DB에서 데이터를 읽어옴Update :
virtualenv는 가상의 파이썬 환경을 만들기 위한 도구이다.근데 나는 이 과정에서 cmd에서는 무반응이었고, vscode에서는 다음과 같은 에러가 발생했다.해결 방법1\. Get-ExecutionPolicy 명령어를 작성하면 본인의 권한 상태가 보여집니다.2\.
<a href=https://www.django-rest-framework.org/api-guide/authentication/아이디와 패스워드만을 이용해 기본 인증을 진행합니다. 이러한 인증은 테스트 시에만 적합하다 나와있습니다.request.user
Django Model은 크게 3가지의 모델 상속 타입을 지원한다.가장 특별하지 않은 상속 방법이다.가장 위의 사람 전체를 포괄하는 필드들을 가진 Person 클래스가 선언됐고, 이 것을 상속받는 두 개의 모델 donghun, hong이 있다. Person 클래스를 부
📃 rest_framework/mixins.py쿼리 집합 나열method : GET주로 쓰는 형태는 다음과 같습니다.다음은 restframework에 구현되어 있는 ListModelMixin class입니다.새 모델 인스턴스 생성 및 저장method : POST주로
JSON으로 데이터를 주고 받을 수 있어야 한다. 이를 위해 DB 인스턴스를 JSON 데이터로 변환하거나, 반대로 JSON 데이터를 DB 인스턴스로 변환할 수 있어야 한다. 이를 목적으로 DRF에서 제공하는 클래스가 바로 serializer이다.serializer /
우선 우리는 프로젝트를 구성하다 보면 사용자가 로그인을 한 사용자인지, 그 유저가 접근 권한이 있는지 등 여러가지 체크할 필요성이 생기게 됩니다.원래 코드 하나하나 권한 체크를 해주었는데 코드가 길어지고 중복되는 부분들이 많아 찾아보았더니 DRF에서 제공하는 permi
데이터베이스 트랜잭션(Database Transction)은 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위입니다. 여기서 유사한 시스템이란 트랜잭션이 성공과 실패가 분명하고 상호 독립적이며, 일관되고 믿을 수 있는 시스템을 의미합니다.이론적으로 데이터
pagination은 다들 경험해 보았을 것이다. 대표적으로 게시판 같은 곳을 살펴보면 1페이지, 2페이지,..., 마지막 페이지 등 페이지 별로 한정된 글의 양이 나타나 있는 것을 확인할 수 있을 것이다.pagination이 뭔지는 알겠는데 이걸 왜 구현할까?이유는
우리는 API를 개발한 후 기능이 정상 작동하는지 체크하기 위해 수동 또는 자동으로 작업을 진행합니다.수동으로는 크게 POSTMAN을 이용해 작업을 진행했는데 API가 별로 없으면 괜찮지만 수없이 많고 코드를 수정할 때마다 수작업으로 하기에는 시간적으로나 비용적으로나
아래의 코드 한 줄 이면 서버 가동부터 재시작까지 모두 다해주는 우리 runserver 평생 같이 할 줄 알았는데 Django의 내장 서버 (runserver)는 실서비스에 부적합하다. 라는 이야기를 듣고 왜인지 찾아봤습니다.이전까지 저는 runserver를 이용해 백
갑자기 코드로 메일을 대신 보내준다는게 너무 신기해 바로 찾아봐 적용해봤습니다. 그리고 해당 기능을 추후에는 Celery와 엮어서도 포스팅 할 예정입니다.우선 SMTP란 Simple Mail Transfer Protocol의 약자로전자 메일 전송을 위한 표준 프로토콜이
1. Nginx란 이전에 gunicorn을 이용해 서버 가동을 했다면 이제는 웹서버인 Nginx와 연동해 서비스를 꾸려나가볼 것입니다. 우선 Nginx는 트래픽이 많은 웹사이트의 서버(WAS)를 도와주는 고성능 경량 웹 서버입니다. apache의 단점들을 보완해 나온
우선 celery는 비동기 작업을 하기 위해 사용하고 있습니다. 이런 비동기 작업이 왜 필요한지 살펴보면 다음과 같습니다.동기는 말 그대로 동시에 일어난다는 뜻입니다. 요청과 그 결과가 동시에 일어난다는 약속인데, 바로 요청을 하면 시간이 얼마나 걸리던지 요청한 자리에
Celery Beat는 스케줄러입니다. 주기적으로 처리해야 될 작업들이 있다면 beat에게 설정만 해주고 맡기면 됩니다.시간을 기반으로 작업을 처리하는 것인 만큼 시간에 대한 정의를 먼저 하고 넘어가야 합니다.crontab은 배치 작업을 위해 특정 시간 뿐만 아니라 특
디버깅은 필수!!!우선 Django-debug-toolbar를 설치해줍니다.INSTALL_APPS 추가 django.contrib.staticfiles는 기존에 추가되어 있고, 새롭게 debug_toolbar를 추가해주면 됩니다.MIDDLEWARE 추가 debug-to
로그는 모든 행위와 이벤트 정보를 시간의 경과에 따라 기록한 데이터입니다.따라서 시스템 상에서 로그를 생성하는 과정을 로깅이라고 합니다.Django를 통해 개발하면서 이러한 로그를 남기고 추후에 활용할 수 있습니다.Django에서는 Python 내장 logging 모듈
이전에 Nginx 정리하면서 해보지는 않았지만 간단히 포스팅 한 적 있는데 오늘 따라해보니깐 완전 산전수전~낼 회사가야 되는데 분노의 새벽 3시에 글써버리기HTTP 프로토콜을 이용해 정적 파일을 반환하는 일은 원래 웹서버가 하는 아주 큰 장점 중 하나입니다. 정적과 동
1. 설치 pytest-django를 설치하면 자동적으로 pytest도 같이 설치됩니다. 2. pytest 설정 DJANGOSETTINGSMODULE 환경 변수를 설정함으로써, 원하는 --settings=yourproject.settings 옵션을 명시하는 것과
1. 사건의 발단 우선 대충 아래와 같은 코드로 구성이 되어 있었는데, put으로 수정하면 수정된 데이터가 반환되지만 그 이후 전체에 대해 조회했을 때 수정된 데이터가 보이지 않는 이슈가 있었습니다. 2. 문제 추정 1. DB 값 변경이 안됐나 처음에는 DB 값이
JWT(Json Web Token)는 당사자 간에 정보를 Json 객체로 안전하게 전송하기 위한 간결하고 독립적인 방법을 정의하는 개방형 표준입니다.간단한 형태의 JWT는 .을 구분자로 세 부분으로 구성되어 있습니다.Header는 일반적으로 토큰 유형(JWT)과 사용