django 13

[django/drf]Djang Rest Framwork 공식문서 튜토리얼3 (Class-based Views)

함수 기반 views 대신에, 클래스 기반 views로 만들 수 있다. 클래스 기반은 공통 기능을 다시 사용할 수 있는 강력한 패턴이다. 그리고 우리의 코드를 다시 사용하지 않게 도와준다. ✅ 현재 함수 Views => 클래스 Views 바꾸기 #snippets/views.py from snippets.models import Snippet from snippets.serializers import SnippetSerializer from django.http import Http404 from rest_framework.views import APIView from rest_framework.response import Response from rest_framework import status # 클..

Django 2022.07.12

[django/drf]Djang Rest Framwork 공식문서 튜토리얼2 (Requests and responses)

request와 response, status를 보내는 것이 아닌, rest_framework에서 지원하는 방식으로 status를 보낸다. 응답의 의미를 명확하게 전달할 수 있다는 장점이 있다. REST프레임 워크의 필수 구성 요소들 ✅Request object Request object의 핵심 기능은 request.POST와 비슷한 request.data 속성이다. Web API에서 훨씬 더 유용하다. request.POST # form data(html의 form)에서만 다룰 수 있다. 그리고 POST 메소드에서만 작동한다. request.data # 임의 데이터를 다룰 수 있다. POST, PUT, PATCH 메소드에서 작동한다. ✅Response object Response object는 Temp..

Django 2022.07.12

[django/drf]Djang Rest Framwork 공식문서 튜토리얼1(Serialization)

1. 가상 환경 세팅 python -m venv drftest drftest 폴더 > Script > activate cd drftest cd Script activate # 가상환경 실행 2. django와 django rest framework 설치 pip install django pip install djangorestframework pip install pygments # code 하이라이트를 위해서 사용할것 나는 가상환경과 project 보관하는 곳이 달라 프로젝트 저장하는 폴더로 따로 이동한 후 tutorial이라는 프로젝트를 만듦 cd .. cd training django-admin startproject tutorial # 튜토리얼 프로젝트 만들기 cd tutorial # 튜토리얼 프..

Django 2022.07.11

[Redis/Memcached]Cache 란? django settings.py에 Cache 설정하는 법(Redis 영업 글)

사족 더보기 프로젝트를 진행하면서 redis와 django ORM에 대해 공부하였었다. 공부하면서 든 의문 중에 하나가 DB에서 가져온 데이터를 캐시에 저장하여 다시 쓴다는 말을 들었었다. 캐시에 대한 의문이 생겼고 그렇게 저장한 캐시를 어디에 저장해 놓고 서버 접근하지 않고 캐시에서 바로 빼오는 것을 아는 건가 하는 의문이 생겨서 공부하고 조사해서 정리해놓은 글이다. 우선 하드웨어에서 cache를 어떤식으로 사용하는지 알아보자 Cache Memory 란? 하드디스크와 CPU간의 데이터 속도 향상을 위한 중간 버퍼 역할을 하는 CPU 내, 외에 존재하는 메모리 CPU는 빠르게 일을 진행하고 있는데, 메모리에서 데이터를 가져오는 게 느려 중간에 미리 CPU에 전달될 데이터를 들고 서있는 형태 전체 시스템의..

Django 2022.05.27

[django]Django 소개 및 장단점

Djanog란? Django는 파이썬으로 제작된 오픈소스 웹 프레임워크 대표적인 사이트는 인스타그램, 핀터레스트, 딜리버리 히어로 코리아, 화해(버드뷰), SendBird(채팅 API) Djanog의 특징 MTV 패턴 View는 Template, Controller는 View라고 표현 Model은 DB에 저장되는 데이터 Template는 유저에게 보여지는 UI View는 데이터를 처리하고 Template에 데이터를 전달 2. 강력한 ORM기능 ORM(객체 관계 매핑)은 객체와 관계형 DB를 연결해주는 개념 생성한 클래스(객체)를 SQL문으로 자동 변환하여 데이터를 다룸 SQL을 사용하지 않고도 DB데이터를 관리 관계형 DB를 객체처럼 볼 수 있게 해준다. 이는 개발자가 로직 작성에 집중하도록 도움 3. ..

Django 2022.05.24

[AWS/nginx/react/Gunicorn/django]신입 개발자의 django 프로젝트 배포 삽질_2(해결)

두번째 아키텍처 정말ㅜ 눈물난다,,,배포란 이런것인가,,,, 인스턴스는 1개 WSGI(gunicorn) 도입 1. Mixed Content 문제 발생 Mixed Content: The page at 'https://도메인/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://도메인/'. This request has been blocked; the content must be served over HTTPS. - Mixed content는 request가 https인데 end point는 http라 브라우저에서 막는 것이다. - 우리는 nginx에만 SSL을 적용하였다. - nginx에서 react로 https..

Django 2022.05.18

[AWS/nginx/react/Gunicorn/django]신입 개발자의 django 프로젝트 배포 삽질_1

아래 사진을 만들어준 동기 PJW님께 감사의 말씀 전해 드립니다. 우리의 현상태,,,,,,도라버렸따,,,, 우리는 현재 회사에서 첫 django로 온보딩 프로젝트를 진행하고 있고 배포 과정(삽질 매우 다수,,,)을 한번 정리해보려고한다. 이것은 해결방법이 아니다. 우리가 해온 삽질이다. 이글을 보고 다른 사람들이 우리처럼 삽질하지 않기를 바라며 작성하는 글이다. 아직도 삽질중,,,,, 첫번째 아키텍처 정말ㅜ 눈물난다,,,배포란 이런것인가,,,, 위의 그림처럼 front와 back을 분리하여 설계하였더니 발생한 문제 1. 쿠키에 sessionID를 담기 위해 Same Site Cookies 옵션 https://www.certkorea.co.kr/bbs/board.php?bo_table=31&wr_id=42..

Django 2022.05.18

[django] ORM Query Set 구조와 원리 그리고 최적화 전략

아래의 강의를 듣다가 요약정리 해봤다. https://www.youtube.com/watch?v=EZgLfDrUlrk 1. QuerySet을 통해 알아보는 ORM 특징 - Lazy Loading 지연로딩 : 정말 필요한 시점에 SQL을 호출한다. #예시 views.py #User를 선언하는 시점에는 퀴리셋에 지나지 않고 실제로 SQL호출을 하지 않는다. query_set = User.objects.all() #list()로 쿼리셋을 호출하였을때 실제 SQL이 실행된다. user_list = list(query_set) - 지연 로딩의 단점 불필요하게 SQL이 두번 호출된다. query = User.objects.all() User = query[0]#한명의 데이터를 가져오기 위해서 실행될 SQL문에 li..

Django 2022.04.27

[django] session 사용법

django의 session django는 session기능을 지원한다. 서버에서 데이터를 저장하고 쿠키의 송수신을 한다. 자세히 설명하자면 데이터는 서버에 저장해 놓고 세션 아이디를 쿠키에 저장한다. 완벽하다고는하는데,,나한테는 완벽하게 적용되지 않는다,ㅜ 해결하려고 정리하는 글을 작성해 본다. session 활성화 django의 session은 미들웨어를 통해 구현된다. 그래서 활성화 하기 위해서는 settings.py에 MIDDLEWARE에 아래의 문구가 있어야한다. 기본적으로 존재하는 문구이다. #settings.py MIDDLEWARE = [ #..생략 'django.middleware.common.CommonMiddleware', #.. ] 데이터베이스 지원 세션 데이터베이스 지원 세션을 사용..

Django 2022.04.25
반응형