728x90
반응형

Django 19

[Django] GitHub Actions CD기능 살펴보기

필자가 전 블로그에 GitHub의 기본적인 Actions과 CI기능에 대해서 살펴보았다.하지만 아직까지 test코드를 만들어서 push나 pull_reqeust를 할때에 test를 돌려보고 test 코드를 통과하면 push나 pull_request가 되는 CI에 대해서 익숙하지 않아서 솔직히 크게 CI의 기능이 필요하지는 않았다. 하지만 CD기능은 자동으로 서버에 배포를 해야했기에 필자한테는 꼭 필요한 기능이다. 그렇기에 요번에는 CD의 기능을 한번 알아보려고 한다.일단 개요를 보자면 필자가 local에서 개발을 진행을 한 후 push를 할때마다 서버에서 pull을 받아야 하는 번거로움이 존재했다.그렇기에 GitHub Actions를 통해서 CD(지속적인 배포)를 자동화 할것이다. 그래..

Django 2024.04.24

[Django] Django Google Cloud Platform를 이용하여 배포하기(SSH shell에 python 최신버전 다운)

오늘은 django에서 진행한 프로젝트를 google cloud platform에 배포를 진행 해볼 예정이다. @@ 필자는 이미 만들어놓은 django 프로젝트에 대해서 GCP에 배포를 할것이며 Git을 통해 레포지토리에 있는 장고 프로젝트를 서버에 클론을 해서 배포를 진행할 예정이다. 모든 인스턴스 이름 SSH키의 title과 같이 이름이 들어가는 곳은 모두 django-deploy로 통일을 하고 진행을 했다.아마도 서로 다르게 해도 크게 문제 될것은 없어보이나 혹시 몰라서 이름을 모두 통일을 했다. GCP에 들어와서 새로운 프로젝트 생성새로운 프로젝트를 설정Compute Engine API 사용을 클릭새로운 VM인스턴스 생성부팅 디스크는 Ubuntu로 변경하고 엑세스 범위는 모든 API에 대해서 허용..

Django 2024.04.23

[DRF] MySQL에 있는 데이터를 Django에서 웹으로 보내는 API

이전에 블로그에서 기존에 있던 데이터 혹은 새로운 데이터를 MySQL에 넣어준 후 Django에 연동을 하는 법에 대해서 블로그를 했다. 그러면 왜 우리는 이러한 행동을 했는가에 대해서 생각해보면 단순하다. 사용하고 싶은 데이터를 넣어준 후 웹상에 API를 통해서 보여주고 싶으니까!!! 그렇기에 이번 블로그에서는 이러한 내용을 작성을 해볼까 한다. 일단 여기서 필자가 작성한 models.py와 serializers.py와 views.py, urls.py에 대해서 올려놓겠다. Models.py # models.py from django.db import models # Create your models here. class Products(models.Model): product_id = models.Au..

Django 2024.04.16

[DRF] Django에 기존 데이터 insert, models.py 생성

어제까지 Django에 MySQL을 연동하는 법을 블로깅했다. 하지만 원래 존재하던 데이터가 있다면 어떻게 해야 할까?? 아니면 CSV파일로 가지고 있는 데이터를 Django에 넣으려면 어떻게 해야 하나? 에 대해서 오늘은 블로그를 써보려고 한다. 여기서 데이터를 GET하고 POST를 해야 하기 때문에 django의 rest_framework(DRF)를 이용할 것이다. 그렇기에 꼭 rest_framework가 설치되어있어야한다. 가상환경을 키고 밑에 코드를 실행하면 DRF가 다운된다. settings.py에 install_app부분에 추가하는 것도 잊지말자! pip install djangorestframework 1. CSV파일을 MySQL에 넣기 위와 같이 MySQL을 열고 우리가 원하는 테이블을 우..

Django 2024.04.16

Django에 MySQL 연동하기

오늘 django에 MySQL을 연동을 해보았다. 나중에 까먹을 수 있으니까 블로그에 정리를 해놔야겠다. 일단 첫번째 MySQL을 설치한다. 필자는 MAC M1을 사용하기에 mysql은 homebrew를 사용해서 다운받았으며 workbench는 밑에 링크를 통해서 다운받았다. https://downloads.mysql.com/archives/workbench/ MySQL :: Download MySQL Workbench (Archived Versions) Please note that these are old versions. New releases will have recent bug fixes and features! To download the latest release of MySQL Workbe..

Django 2024.04.15

[DRF] 함수형 기반 View

오늘 DRF에 대해서 블로그를 보다가 CBV 클래스형 기반 view는 블로그를 작성했는데 함수형 기반 view를 작성하지 않은것을 발견하고 후다닥 블로그를 정리해 보려고한다. 가장 기본적으로 DRF의 공식문서를 참고해서 블로그를 작성을 해보겠다. 함수형 기반의 view는 api_view함수를 데코레이터 해서 사용을 하게 된다. 코드를 살펴보자. from rest_framework import status from rest_framework.decorators import api_view from rest_framework.response import Response from .models import Post, comment from .serializers import PostSerializer, Com..

Django 2024.04.15

[DRF] SIMPLE-JWT를 이용한 CUSTOMUSER로 로그인/회원가입 구현(Django ORM 부가 설명)

api에 꽃인 로그인과 회원가입에 대해서 오늘은 작성을 해볼려고 한다. 프로젝트를 하면서 JWT를 이용한 로그인과 회원가입을 구현하면서 가장 시간이 많이 들어가고 아직도 이해가 잘안된다. 하지만 이번 블로그를 쓰면서 블로그와 열심히 찾아보면서 만든 코드에 대해서 리뷰를 해봐야 겠다. 일단 만든 app에서 로그인과 회원가입에 대해서 serializer와 view를 추가해보자. 그리고 그에 따라 urls를 만들어서 api를 완성시켜야겠다. api app 밑에 serializers.py를 만들자. 이전에 Customuser를 만들때 필자는 required_fields를 username과 location과 nickname, email을 설정 해두었었다.근데 회원가입시에 이 모든걸을 넣어주어야 하기 때문에 nic..

Django 2024.04.05

[DRF]AbstractBaseUser로 CustomUser 만들기(수정!!!)

앞선 블로그에서 DRF가 어떻게 돌아가는지에 대한 총정리를  했다. 이제는 CustomUser를 만들고 JWT를 이용해서 로그인과 회원가입 그리고 게시판을 만들어가는 실습을 진행해보자. 일단 장고 프로젝트를 시작하자. 가상환경을 만들고 django를 다운받자.# 가상환경 생성virtualenv venv# 장고 설치pip install django# backend라는 프로젝트 시작django-admin startproject backend .# DRF다운로드pip install djangorestframework 그리고 api라는 app을 만들자.# api라는 app을 실행python manage.py startapp api 이제 settings 파일에서 다운 받은 DRF와 api app을 등록해주자.# ..

Django 2024.03.31

[DRF] serializer의 역직렬화가 되는 지점

이전의 포스팅을 쓰면서 직렬화와 역직렬화가 어느 시점에 되는지 확실하게 알지 못한다는 것을 깨닫고 다시 정리해놔야겠다. GPT가 정확한 답변을 주었다. class CreateModelMixin: """ Create a model instance. """ def create(self, request, *args, **kwargs): serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) self.perform_create(serializer) headers = self.get_success_headers(serializer.data) return Response(serializer.data, s..

Django 2024.03.29

[DRF] perform_<method>(self, serializer) - Mixins, Generic CBV, ViewSet

친구랑 프로젝트를 진행하면서 api를 짜다가 perform_create(self, serializer) 함수를 사용하게 되었다. 이에 대해서 여러가지로 응용을 할 수 있을거 같기 때문에 정리를 해보고자 한다. perform_create(self, serializer) 함수가 정의되어 있는, Mixins의 CreateModelMixin에 무엇이 상속이 되어있는지 보자. class CreateModelMixin: """ Create a model instance. """ def create(self, request, *args, **kwargs): serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=Tr..

Django 2024.03.29
728x90
반응형