프로그래밍/Django(3)
-
[Django] Custom Command (BaseCommand)
django-admin commands 장고 앱을 위해 커스텀 커맨드를 이용해 manage.py에 작업을 추가할 수 있다. 커스텀 커맨드는 /management/.py 경로에 있어야 한다. video/ __init__.py models.py management/ commands/ __init__.py manage_video.py 아래는 manage_video.py(위의 .py 위치) 예시인데, 나는 --a 라는 커맨드를 입력하면 logic_a 코드가 실행되게 하고 싶었고, --b 라는 커맨드를 입력하면 logic_b 코드가 실행되게 하고 싶었다. manage_video.py from django.core.management.base import BaseCommand class Command(BaseCom..
2020.05.08 -
[Django] 배포 - WSGI
WSGI(Web Server Gateway Interface) 파이썬에서 웹서버와 웹앱이 통신하기 위한 인터페이스로 웹서버와 웹앱이 어떻게 통신할 것인가에 대한 규약으로 파이썬에서 표준으로 사용된다. WSGI 리퀘스트를 처리하려면 WSGI 서버에서 환경정보와 콜백함수를 앱에 제공해야 한다. 웹앱은 그 요청을 처리하고 콜백함수를 통해 서버에 응답한다. 순서 요청 -> 웹서버 -> WSGI 서버(middleware 라고도 한다) -> WSGI를 지원하는 웹앱(Django, flask 등) WSGI 서버(middleware) WSGI 서버는 장고에서 일차적으로 사용하는 Deployment 플랫폼인데, 일반적으로 많이 사용되는 WSGI 서버로는 uWSGI, Gunicorn과 Apache/mod_wsgi 등이 있..
2020.05.05 -
[Django] 장고 CORS 크로스 도메인 이슈
Django로 API 서버를 만드는데 cors에러가 떴다 ... Cross Domain 이슈가 발생한건데, 이 문제는 왜 발생하는 걸까 ? CORS CORS는 Cross Origin Resource Sharing의 약자로 도메인 또는 포트가 다른 서버의 자원을 요청하는 매커니즘이다. 최근 대부분의 웹 브라우저는 Javascript를 이용한 AJAX(Asynchronous Javascript XML)통신을 통한 데이터 송수신을 하는데, 다른 도메인을 가진 서버의 URL을 호출해 데이터를 가져오려고 하는 경우 보안 문제인 Cross Domain 이슈를 발생시킨다. 왜냐하면 만약 우리 웹 서비스에서 사용하기 위해 다른 서브 도메인을 가진 API 서버를 구축했는데, 우리가 아닌 다른 웹 서비스에서 이 API 버..
2020.01.16