Programming/장고(django) - API 18

장고(django)/ 도커 배포

### **먼저 Docker란?** Docker는 애플리케이션을 **컨테이너(Container)**라는 독립된 환경에서 실행할 수 있도록 도와주는 플랫폼입니다. 컨테이너는 애플리케이션과 그에 필요한 모든 것을 포함한 가벼운 가상화 환경입니다.   #### **주요 개념** 1. **이미지 (Image)**      - 컨테이너의 실행을 위한 **템플릿**입니다. 애플리케이션 코드, 런타임, 라이브러리, 환경설정 등을 포함합니다.      - 예: Python 애플리케이션을 실행하기 위한 Python 이미지. 2. **컨테이너 (Container)**      - 이미지를 기반으로 실행된 **독립된 실행 환경**입니다.      - 예: 실제로 Python 애플리케이션이 실행되는 공간. 3. **Docke..

장고(django)/ WSGI 배포

# 우선 파이썬 Django에서 동적인 페이지 요청을 처리하기 위해 WSGI 어플리케이션을 사용함. * WSGI 미들웨어에 대한 참고는 https://velog.io/@hwaya2828/Django-WSGI pip install gunicorn # 프로젝트 폴더에 runtime.txt 생성. 내용 작성 python-3.10.10 # 프로젝트 생성 파이썬 버전을 넣으면 된다. # 프로젝트 관련 패키지 관리 파일 생성 pip freeze > requirements.txt # 그리고 Procfile 파일 생성 후 내용 입력(*확장명 없음) web: gunicorn 프로젝트명.wsgi # 나머지 Qoddi 사이트 배포는 아래 참고 https://velog.io/@couchcoding/%ED%8F%AC%ED%8A..

장고(django)/ CORS

# CORS (Cross-Origin Resource Sharing): CORS를 사용해서 다른 도메인에서 웹 페이지 또는 앱에 대한 요청 허용여부를 컨트롤할 수 있다. # django-cors-headers 패키지, cryptography 패키지를 설치 pip install django-cors-headers cryptography # Django 프로젝트 설정에 CORS 추가 Django 프로젝트의 설정 파일 (보통 settings.py)을 열고 CORS 설정을 추가 INSTALLED_APPS = [ # ... 'corsheaders', # corsheaders를 추가합니다. # ... ] MIDDLEWARE = [ # ... 'corsheaders.middleware.CorsMiddleware', ..

장고(django)/ REST Framework(viewsets, permissons, routers 관련)

1. viewsets from rest_framework import viewsets : Django REST Framework에서 제공하는 `viewsets` 모듈은 ViewSet 클래스를 정의하고 관리하는 데 사용됩니다. ViewSet은 API 엔드포인트에 대한 CRUD(Create, Read, Update, Delete) 작업을 정의하고 처리합니다. 2. permissions from rest_framework import permissions : Django REST Framework에서 제공하는 `permissions` 모듈은 인증과 권한을 처리하는 데 사용됩니다. 권한 클래스를 정의하고 API 엔드포인트에 적용하여 액세스 제어를 설정할 수 있습니다. `permissions.IsAuthentic..

장고(django)/ REST Framework(serializers 관련)

from rest_framework import serializers 먼저 시리얼라이저는 Django 모델 데이터를 직렬화하거나 역직렬화해서 api 통신하는 데 사용됩니다. 1. UserSerializer(serializers.ModelSerializer): `serializers.ModelSerializer`를 상속받는 클래스입니다. 이 클래스는 Django 모델과 연결된 시리얼라이저로, 모델의 필드와 관련된 직렬화 및 역직렬화 로직을 자동으로 생성해줍니다. `ModelSerializer`는 모델 클래스와 연결하여 필드, 유효성 검사 등을 자동으로 처리합니다. class UserSerializers(serializers.ModelSerializer): class Meta: model = All_data..

장고(django)/ 회원가입 및 로그인 기능(auth 모듈 관련)

# 먼저 템플릿 형태로 회원 관련 데이터 넘길 준비(T) # 데이터 받아서 회원가입 처리 기능(V) # 근데 궁금한 점. 로그인하고 로그아웃 할 때, 어떤 방식으로 정보들이 인증되고 식별되어서 웹이 작동하는가? `auth.login(request, user)`는 Django의 인증 시스템을 사용하여 사용자를 로그인하는 함수입니다. 이 함수를 호출하면 해당 사용자가 인증되고, 세션에 사용자 정보가 저장됩니다. 이를 통해 사용자는 로그인한 상태를 유지하며, 인증된 요청에 대해 액세스 권한을 받을 수 있습니다. 여기서 `request`는 현재 요청 객체를 나타내는 매개변수이고, `user`는 로그인할 사용자 객체입니다. `auth.login(request, user)` 함수가 작동하는 과정은 다음과 같습니다:..