Django 35

Token 인증_JWT(JSON Web Token)

백엔드 개발자의 기본 소용 인증 DB 관리 Request에 따른 Response 처리 (API 개발) 배포 세션 기반 인증 모든 유저의 정보와 session 정보를 서버에서 관리 sessionid를 받아 브라우저(쿠키)에 저장 but, DB가 두개 이상이거나 서버가 두개 이상이라면? 토큰 기반 인증 서버에 저장하지 않아 자원 절약 가능 서버는 SECRET KEY로 암호화된 토큰을 전달 사용자는 토큰으로 인증 대표적인 방식 JWT 클라이언트는 JWT를 브라우저(localStorage)에 저장 JWT가 만료되면 토큰 refresh 사용자의 로그인을 확인해 secret key를 통해 Access token 발급 클라이언트에 JWT 전달 헤더에 JWT 전달 JWT 서명 체크 클라이언트의 요청(Request)에 ..

Django 2023.04.21

파이썬 장고 실무 심화 2주차 4_drf-yasg, 클래스형 view(cbv)

drf-yasg drf용 Swagger pip install -U drf-yasg drf_week2 > settings.py: INSTALLED_APPS = [ 'django.contrib.staticfiles', # required for serving swagger ui's css/js files 'drf_yasg', ] drf_week2 > urls.py: from django.urls import path, include, re_path # re_path 정규표현식 추가 from rest_framework import permissions from drf_yasg.views import get_schema_view from drf_yasg import openapi schema_view = get..

Django 2023.04.21

파이썬 장고 실무 심화 2주차 3_PUT, DELETE

https://sw-ing.tistory.com/88 파이썬 장고 실무 심화 2주차 2_serializer, GET, POST serializer를 사용하면 json 형태의 string으로 만들어 줌 GET articles > serializers.py: from rest_framework import serializers from articles.models import Article class ArticleSerializer(serializers.ModelSerializer): class Meta: model = Article sw-ing.tistory.com GET articles > urls.py: urlpatterns = [ path('/', views.articleDetailAPI, name=..

Django 2023.04.19

파이썬 장고 실무 심화 2주차 2_serializer, GET, POST

serializer를 사용하면 json 형태의 string으로 만들어 줌 GET articles > serializers.py: from rest_framework import serializers from articles.models import Article class ArticleSerializer(serializers.ModelSerializer): class Meta: model = Article fields = "__all__" # 모든 필드를 가져오겠다 articles > views.py: from rest_framework.response import Response from rest_framework.decorators import api_view from articles.models i..

Django 2023.04.19

파이썬 장고 실무 심화 2주차 1_api view, response

https://sw-ing.tistory.com/85 DRF 시작하기 기본 설정 python -m venv venv source venv/Scripts/Activate pip install django pip install djangorestframework pip freeze > requirements.txt >>> pip install -r requirements.txt 프로젝트 시작 django-admin startproject drf_week2 . >>> . 으로 현 sw-ing.tistory.com https://www.json.org/json-en.html JSON JSON (JavaScript Object Notation) is a lightweight data-interchange form..

Django 2023.04.19

DRF 시작하기

기본 설정 python -m venv venv source venv/Scripts/Activate pip install django pip install djangorestframework pip freeze > requirements.txt >>> pip install -r requirements.txt 프로젝트 시작 django-admin startproject drf_week2 . >>> . 으로 현재 폴더에서 프로젝트를 만들어 manage.py가 보이도록 깃에 올리기 .gitignore 생성 >>> .venv가 들어가 있어야 함 git init git add . git remote add origin git commit -m "커밋메시지" git push origin main https://www..

Django 2023.04.19

파이썬 장고 실무 심화 1주차_DRF, HTTP

DRF Django REST framework Django를 기반으로 한 웹 프레임워크 RESTful API를 구축하기 위한 도구 Pure Django는 모델-뷰-컨트롤러(MVC) 아키텍처 기반으로 백엔드 로직과 데이터 처리를 처리하도록 설계되어 있음 프론트엔드/백엔드 분리! 백엔드는 데이터 부분만 처리해 json 형식으로 보내주는 방식 웹브라우저 흐름 DNS(Domain name system) 조회 HTTP 요청 메시지 작성 Socket 라이브러리를 통해 전달 TCP/IP 작성되고 이 안에 HTTP 메시지가 포함 프로토콜 계층 어플리케이션 → Socket Library → TCP → IP → LAN → 인터넷 Internet Protocol 지정한 IP주소로 전송 출발지 IP와 목적지 IP를 작성 송신..

Django 2023.04.18

HTTP response status codes 상태 코드

100-199 Informational responses 요청이 수신되어 처리중 (거의 사용 안 함) 200-299 Successful responses 요청 정상 처리 200 OK 201 Created : Header에 Location을 추가해서 새로운 리소스의 URI를 알려줄 수 있다 202 Accepted : 요청은 접수했다 204 No Content : save 버튼을 눌러서 저장만 하고 화면 변화가 필요 없을 때 300-399 Redirection messages 추가 행동 필요 웹브라우저는 3xx의 헤더에 Location이 있으면 자동으로 리다이렉트 한다 영구 리다이렉 : 영구 이동. 301 / 308 일시 리다이렉 : 일시적 변경. 302 / 307 / PRG(Post-Redirect-Get..

Django 2023.04.18