Computer Science/BackEnd
장고 WSGI를 이용하여 배포하기 | 장고 공식 문서 번역
토마토.
2022. 11. 25. 18:53
How to deploy Django | Django documentation | Django (djangoproject.com)
Django
The web framework for perfectionists with deadlines.
docs.djangoproject.com
How to deploy
Django with WSGI
- WSGI는 장고의 주요한 배포 인터페이스이다.
- Django의 startproject 명령에서 WSGI configuration을 많은 부분 디폴트 값으로 설정해놓는다.
- 만약 필요하다면 프로젝트 상황에 맞게 수정하면 된다.
The application object
- WSGI로 배포할 때 핵심은 application callable이라는 개념이다.
- application callable은 웹 서버가 파이썬 코드와 소통하기 위해 사용하는 것으로,
- 주로 파이썬 모듈에서 application이라는 객체로 서버에서 접근할 수 있게 제공된다.
- startproject 명령어는 project_name/wsgi.py라는 파일을 생성한다.
"""
WSGI config for renderDjango project.
It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/3.2/howto/deployment/wsgi/
"""
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'renderDjango.settings')
application = get_wsgi_application()
- 이 wsgi.py 파일 안에 application callable 객체가 존재한다.
- 이는 개발할 때 사용하는 장고 서버와 WSGI 배포 과정에서 사용된다.
- WSGI 서버는 application callable까지의 path을 포함하고 있다
- 장고 서버 runserver 명령어는 WSGI_APPLICATION 설정값으로부터 application을 읽어온다.
Configuring the settings module
- DJANGO_SETTINGS_MODULE 환경 변수가 설정 모듈과 연결한다.
Applying WSGI middleware
- WSGI 미들웨어를 만들어 application object를 감쌀 수 있다.
- 예를 들면 다음과 같은 식이다.
from helloworld.wsgi import HelloWorldApplication
application = HelloWorldApplication(application)