2012-02-14 3 views
2

저는 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 이미지를 업로드 할 수 있기 때문에 우분투 배포시에 유용합니다.

도움이 될 것입니다.

답변

1

글쎄, 너는 장고 관리자에서 로그 아웃하고 다시 로그인하기로 결정했다. 갑자기 잘 돌아 간다. 쳇. 내가 시도한 마지막 것은 접근 # 2 위에 있었으므로 누구나이 문제를 겪고 있다면 그것이 최선의 해결책입니다.

관련 문제