저는 NGNX/FastCGI를 사용하여 Ubuntu의 virtualenv 내에 장고 응용 프로그램을 실행하고 장고 관리 응용 프로그램에 JPG 이미지를 업로드하려고합니다.Django를 통해 JPEG 이미지를 업로드하면 오류가 표시됩니다.
"올바른 이미지를 업로드하십시오. 업로드 한 파일이 이미지가 아니거나 손상된 이미지가 아닙니다." GIF 이미지를 업로드 할 수 있으므로 문제의 원인이되는 것은 JPEG뿐입니다. 여기
는 지금까지 시도했습니다 내용은 다음과 같습니다1) 설치 PIL의 끝에서 PIL
pip uninstall pil
sudo apt-get libjpeg62-dev
pip install pil
전에 libjpeg62-DEV 설치, 나는 다음을 참조하십시오
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version 1.1.7
platform linux2 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available
그래서 그것은 JPEG 지원처럼 보인다. 나는 또한 확인하기 위해 수동 테스트를 완료했습니다 그것은 확인 : 유사
>>> from PIL import Image
>>> trial_image=Image.open("/path/to/my/image.png")
>>> trial_image.verify()
2) 위의 1에 접근하지만, 수동으로 JPG_ROOT 지정하기 :
pip uninstall pil
sudo apt-get libjpeg62-dev
pip install --no-install pil
vi /path/to/virtualenv/build/PIL/setup.py (JPG_ROOT = libinclude("/usr/lib"))
pip install pil
3) 베개 내 운을 시험해을 (A PIL 포크)
pip uninstall pil
sudo apt-get libjpeg62-dev
pip install pillow
나 또한 노력 PIL를 설치 할 때마다 이후의 nginx 서비스를 시작 &을 중지했습니다에서 내가 장고를 실행 해요.
위의 방법 중 어느 것도 우분투의 장고 앱에서 위의 오류 메시지가 표시되지 않았습니다. 동일한 장고 앱을 실행하는 로컬 데브 박스 (Mac OSX 10.6.5)에서 동일한 JPG 이미지를 업로드 할 수 있기 때문에 우분투 배포시에 유용합니다.
도움이 될 것입니다.