2012-02-21 6 views
1

사용자가 heroku에서 실행되는 django 앱의 파일을 업로드 할 수 있도록 허용하고 일부 문제가 발생했습니다. 내 개발 환경에서 (장고 개발 서버를 사용하여), 나는 사용자가 파일 (작은 이미지/로고)을 업로드 할 수 있도록 설정했습니다. 모든 것이 훌륭하게 작동합니다.Django on Heroku, gunicorn을 사용하여 파일 업로드

heroku 또는 심지어 gungon (django 개발 서버 대신)을 사용하는 개발 서버에서 실행하려고하면 사용자가 파일을 업로드 할 수 없습니다. 나는 일반적으로 Amazon S3와 같은 것을 사용하는 것이 가장 좋습니다. 그러나 파일이 비교적 작기 때문에 영웅에 직접 시작하는 것이 효과적 일 수 있다고 생각했습니다.

업로드 된 파일을 manage.py collectstatic에서 사용할 수 있다는 것을 알고 있지만 실제로 업로드 된 파일은 실제로 업로드되지 않으므로 문제가되지 않습니다. 내가 볼 수있는 오류는 발견하지 못했습니다.

실용적인 목표는 무엇입니까? S3 대신이 기능을 사용하려고 노력하는 데 집중해야합니까? 지금은 내 요구 사항에 약간의 위협으로 보이지만 어떤 종류의 제안이나 도움이 열려 있습니다.

감사합니다,

편집 : 그것은 단지 내 가상 환경 외부에서 작동 이 나타납니다. gunicorn이 가상 환경 내에서 사용되는지 여부는 중요하지 않습니다.

답변

3

프로그램 실행 중에 생성 된 자산에 외부 저장소 인 S3와 같은 것에 집중해야한다고 생각합니다. Heroku는 각 dyno에 대해 ephemeral filesystem을 사용하므로 크기가 작더라도 파일을 업로드 할 장소가되지 않습니다.