Back-end/Django(6)
-
[Django] Django로 만든 앱을 배포하기: Pythonanywhere
서론 개발한 앱을 PC에서 작동시킬수도 있지만, 만약 이 앱이 24시간 365일 작동해야 한다면 컴퓨터의 전원이 절대로 꺼지면 안될 것입니다. 또한 앱의 이용자가 기하급수적으로 늘어나면 컴퓨터의 CPU, 램, 저장장치 등을 추가해야 할 수도 있습니다. 이러한 환경을 개인이 구축하기에는 다소 힘들기 때문에, 앱을 제 3자에게 제공하여 사람들이 언제든지 자유롭게 앱을 사용할 수 있도록 배포할 수도 있습니다. Django 앱을 배포하는 방법은 다음과 같습니다. 1. AWS로 배포하기 : EC2 인스턴스로 배포할 수 있습니다. 또한 Django 앱을 Gunicorn(WSGI)과 연결하고 웹서버인 Nginx를 또 연결해야 합니다. 2. Pythonanywhere로 배포하기 : 소규모 앱에 적합하며 무료입니다. 배..
2023.01.31 -
[Django] Django-rest-framework로 GET, POST, PUT, DELETE 구현하기: APIView
APIView Class-Based-View입니다. 따라서 상속이 가능합니다. APIView를 상속받은 클래스 내부에 HTTP Method인 POST, GET, PUT, DELETE 함수를 정의할 수 있습니다. 클래스 내부에 POST, GET, PUT, DELETE 구현하기 메소드를 구현하면 Request가 도달했을때 해당되는 메소드가 실행됩니다. 이전의 글에 이어서 설명하겠습니다. 간단하게 요약하자면 Person 모델에는 name과 age가 저장되며 pk는 Djnago에서 기본으로 만들어준 id입니다. [Django] 서버의 DB를 RESTful API로 접근하기: Django-rest-framework Django-rest-framework RESTful API에 해당합니다. Model-View-Co..
2022.09.14 -
[Django] Django의 DB에 INSERT, SELECT, UPDATE, DELETE하기: QuerySet
QuerySet MySQL 등으로 DB를 관리할 때 INSERT, SELECT, UPDATE, DELETE를 SQL문으로 실행하게 됩니다. 이와 유사하게 Django에서도 Python 코드로 모델을 생성하고, 이 모델로 생성된 DB에 INSERT, SELECT, UPDATE, DELETE 등의 CRUD 작업을 할 수 있습니다. QuerySet으로 DB의 객체를 전달받아서 이 객체의 메소드를 사용하면 됩니다. QuerySet 사용하기 모델 클래스이름.objects로 객체를 불러올 수 있습니다. 아래에서는 편의상 ModelClass.objects로 객체를 불러오겠습니다. 1. SELECT Dictionary형으로 객체를 가져옵니다. Key, value로 객체의 값에 접근할 수 있습니다. ModelClass...
2022.09.02 -
[Django] 서버의 DB를 RESTful API로 접근하기: Django-rest-framework
Django-rest-framework RESTful API에 해당합니다. Model-View-Controller(MVC) 패턴을 따릅니다. RESTful API REST의 원리*를 따르는 API입니다. * HTTP URI/ HTTP Method/ HTTP message pay load REST API의 설계 규칙을 지켜야 합니다. 1. URI는 정보의 자원을 표현해야 합니다. 2. 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현해야 합니다. Django-rest-framework 사용하기 1. Django-rest-framework를 설치합니다. pip install djangorestframework 2. Django 프로젝트와 앱을 생성합니다. 3. set..
2022.08.25 -
[Django] CORS 해결하기: django-cors-headers
CORS(Cross-Origin Resource Sharing) 클라이언트가 서버에 요청할 때, 포트, 호스트, 스킴을 비교해서 출처가 같아야 합니다. CORS를 위반해도 서버는 정상적으로 응답을 합니다. 웹 브라우저가 판단해서 CORS 위반이라면 응답을 파기합니다. Django에서 CORS를 해결하기 1. 터미널에서 다음을 실행하여 django-cors-headers를 설치합니다. pip install django-cors-headers 2. settings.py에 다음을 추가합니다. 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware'는 MIDDLEWARE의 최상위에 위치해야 합니다. INSTALLED_..
2022.08.21 -
[Django] Mac의 Safari에서 CORS 해결하기
Django에서 CORS를 해결하는 방법은 다음을 참고합니다. https://oliopasta.tistory.com/15 [Django] CORS 해결하기: django-cors-headers CORS(Cross-Origin Resource Sharing) 클라이언트가 서버에 요청할 때, 포트, 호스트, 스킴을 비교해서 출처가 같아야 합니다. CORS를 위반해도 서버는 정상적으로 응답을 합니다. 웹 브라우저가 판단해서 CO oliopasta.tistory.com 그러나 이렇게 해도 Safari가 CORS 위반이라며 경고메시지를 출력할 수도 있습니다. Cross-origin redirection to http://~ denied by Cross-Origin Resource Sharing policy: Or..
2022.08.21