pythonanywhere 배포 후기

‍김다솔·2021년 6월 20일

배포를 향한 몸부림.jpg

이번 생에 배포는 처음이라..

 Django의 기본기도 완벽하지 않은 상태였지만 이번 기말 프로젝트라는 이유로 무조건 기간 내에 완성시켜야만 한다는 마음으로 배포까지 많은 시간을 투자했던 것 같다.

React + Django 배포 과정

react로 구현한 프론트엔드 폴더를 build한 후 client에 옮겨주었다. pythonanywhere는 이 client안에 있는 static폴더에 접근하여 가져오는 형식을 제공했다. 그러나 pythonanywhere으로부터 부여 받은 도메인에 들어가면 NOT FOUND 404가 나오면서 화면에 아무것도 노출되지 않았다.

 뒤늦게 알고보니 위 사진 속 static과 build한 client 안의 static과 다른 것이었다! 검색한 끝에 django에서 python manage.py collectstatic 명령어로 해결할 수 있다는 것을 pythonanywhere 공식 홈페이지에서 발견할 수 있었다. 덕분에 NOT FOUND 404는 클라이언트의 요청은 옳으나 서버 저장된 데이터의 경로 문제 때문에 발생할 수 있다는 걸 피부로 느낄 수 있었다.

또 나타난 CORS

저번에 만났던 CORS를 또 만났다. 하지만 이번엔 달랐다. Django에는 이를 구원해줄 라이브러리가 있었다. 그 이름하여 django-cors-headers.

https://github.com/adamchainz/django-cors-headers

각 리스트에 corsheaderscorsheaders.middleware.CorsMiddleware를 추가해준다.

CORS_ORIGIN_WHITELIST에 주소를 넣어주면 끝이지만.. 왠지 앞으로도 계속 만나게 될 CORS일 것 같은 느낌이 든다.

결과

http://2o1da.pythonanywhere.com/

profile
💻🎧⚽

0개의 댓글