Programming/장고(django) - API 17

장고(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)` 함수가 작동하는 과정은 다음과 같습니다:..

장고(django)/ 시리얼라이저(Serializers, api통신 관련)

# 시리얼라이저? Serializers? : 데이터를 외부에서 사용할 수 있도록 변환시키는 기능. API통신 기능을 구현 한다. 웹 상의 데이터를 사용자와 연결시켜 사용할 수 있게. 장고에서는 DRF(DjangoRestFramework)프레임 워크를 지원한다. pip install djangorestframework # 이제 흐름을 연결시키는 것만 남았다. 실질적으로 뷰(views.py) 기능을 구현해서 url과 맵핑 시켜서, 웹화면 프론트엔드(T) - 장고,파이썬 백엔드(V) - 데이터베이스 연결(M) 의 흐름을 이제 이을 수 있다.