안녕세계
안녕하세요. 이번 포스팅에서는 Docker Compose를 활용하여 Django 애플리케이션을 배포하는 방법에 대해 알아봅니다. Dockerfile 작성 # /Dockerfile FROM python:3.6.4 RUN mkdir /code WORKDIR /code ADD requirements.txt /code/ RUN pip install -r requirements.txt ADD . /code/ (1) FROM python:3.6.4 - 파이썬 3.6.4버전을 베이스 이미지로 사용합니다. (2) RUN mkdir /code - 컨테이너에 /code 디렉토리를 생성합니다. (3) WORKDIR /code - /code 디렉토리로 워킹 디렉토리를 변경합니다. (4) ADD requirements.txt ..
장고에서 회원가입 인증 메일 보내기 [2/2] (gmail SMTP)NOTE: 지난 포스팅에서 진행한 gmail 계정 셋팅과 장고 settings.py 설정 하신후 진행하셔야 합니다. 설정 후 장고 쉘에서 테스트로 메일을 전송 해보신 후 진행하시는 것을 추천드립니다!우선, user 테이블을 생성합시다.user/models.pyuser 테이블에 필수적인 속성만 추가합니다.from django.db import models from utils.common.cipher import AESCipher class User(models.Model): class Meta: db_table = "users" created_at = models.DateTimeField(auto_now_add=True) updated_a..
장고에서 회원가입 인증 메일 보내기 [1/2] (gmail SMTP)본 포스팅에서는 gmail SMTP를 활용하여 회원가입 인증 메일을 보내는 과정을 진행할 것입니다.gmail SMTP를 사용하기 위해서는 아래 두가지를 설정해야합니다.IMAP 사용함 설정보안 수준이 낮은 앱 허용장고 SMTP 설정settings.pyEMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_USE_TLS = True EMAIL_PORT = 587 EMAIL_HOST = 'smtp.gmail.com' EMAIL_HOST_USER = '아이디@gmail.com' EMAIL_HOST_PASSWORD = '이메일 비밀번호' SERVER_EMAIL = '아이디@gmai..
built-in Commands장고 built-in command는 다음과 같습니다.$ django-admin startapp $ django-admin startproject $ python manage.py shell $ python manage.py migrate $ python manage.py makemigrations $ python manage.py runserver 위 명령어뿐만 아니라 장고는 더 많은 built-in command를 제공합니다. 자세한 내용은 공식문서를 참고해주세요 😃장고에서는 built-in command 가 아닌 custom command를 만들 수 있습니다. 장고 문서에서는 custom command를 다음과 같이 소개합니다.Standalone scriptsCusto..
안녕하세요 이번 포스팅에서는 DRF로 FBV만들기를 진행해보겠습니다.지금까지 viewSet을 활용한 CRUD, CBV를 활용한 CRUD를 만들어보았는데이번 포스팅은 지난 포스팅보다 더 쉬우니 잘 따라하실 수 있을거라 생각합니다 :D 이번에는 comment App을 생성하고 comment의 CRUD를 FBV로 만들어보겠습니다. $ django-admin startapp comment그다음 이제 장고 프로젝트에 comment를 추가해줍시다! [tutorial/settings/base.py]INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', ..
안녕하세요!이번 포스팅에서는 DRF APIView 사용법을 알아보도록 하겠습니다.지난 포스팅에서는 ModelViewSet을 상속받아서 간단하게 기본 CRUD와 Custom API를 만들 수 있었는데요.이번에는 이러한 기본 CRUD들을 APIView라는 것을 상속받아서 매우 유연한 API를 만들어 보겠습니다. 자, 그럼 시작해 볼까요!?APIView도 CBV(Class-Based-View)와 FBV(Function-Based-View) 두가지를 방법을 제공하는데요.. blog App 에서는 DRF ViewSet으로 만들었고,이번에는 post App을 새로 생성하여 CBV를 만들어 보겠습니다. PostApp을 생성해주세요. $ django-admin startapp post post app을 생성한 뒤 po..
안녕하세요!이번 포스팅에서는 특정 엔드포인트를 Custom 해보도록 하겠습니다. 우리가 지난 포스팅에서 만들어 두었던 PostViewSet에 두가지 메서드를 추가할건데요 ㅎㅎ첫번째는 'django'라는 이름을 포함하고있는 데이터를 불러올 수 있도록 params를 쓰지않고 작업을할 거고.두번째는 특정 post 메시지를 수정하는 작업을 해볼 겁니다. [blog/views.py]from rest_framework import viewsets from rest_framework.decorators import detail_route, list_route from rest_framework.response import Response from .models import Post from .serializers i..
안녕하세요!이번 포스팅에서는 지난 포스팅에서 만들었던 ViewSet을 커스텀해보도록 하겠습니다.DRF의 ViewSet 기능을 활용하여 기본 CRUD를 만드는 것이 간편하지만 추가적인 작업을 위해서는 다른 방법을 거쳐야합니다. [blog/views.py]from rest_framework import viewsets from .models import Post from .serializers import PostSerializer class PostViewSet(viewsets.ModelViewSet): queryset = Post.objects.all() serializer_class = PostSerializer def get_queryset(self): qs = super().get_queryset(..