Tôi đang chạy Django 1.4
và PIL 1.1.7
trong một virtualenv
được quản lý với pip
. Bất cứ khi nào tôi tải lên một tập tin JPEG thông qua giao diện quản trị của tôi, tôi nhận được lỗi sau: Upload a valid image. The file you uploaded was either not an image or a corrupted image.
Nhận Django để nhận dạng hỗ trợ PIL JPEG
Như nhiều người sử dụng Ubuntu đã được báo cáo, về cài đặt, PIL erronously nhìn vào /usr/lib/
cho libjpeg
, trong khi vị trí thật sự của nó là trong /usr/lib/i386-linux-gnu/
. Đó là chăm sóc; Tôi làm theo các câu trả lời trong các bài:
Why can't I upload jpg files to my Django app via admin/?
Bây giờ đầu ra cuối cùng của cài đặt trông như sau:
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version 1.1.7
platform linux2 2.7.3 (default, Apr 20 2012, 22:44:07)
[GCC 4.6.3]
--------------------------------------------------------------------
--- TKINTER support available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available
--------------------------------------------------------------------
To add a missing option, make sure you have the required
library, and set the corresponding ROOT variable in the
setup.py script.
To check the build, run the selftest.py script.
changing mode of build/scripts-2.7/pilfile.py from 644 to 755
changing mode of build/scripts-2.7/pilfont.py from 644 to 755
changing mode of build/scripts-2.7/pilconvert.py from 644 to 755
changing mode of build/scripts-2.7/pilprint.py from 644 to 755
changing mode of build/scripts-2.7/pildriver.py from 644 to 755
changing mode of /usr/local/bin/pilfile.py to 755
changing mode of /usr/local/bin/pilfont.py to 755
changing mode of /usr/local/bin/pilconvert.py to 755
changing mode of /usr/local/bin/pilprint.py to 755
changing mode of /usr/local/bin/pildriver.py to 755
Successfully installed PIL
Tuy nhiên, Django vẫn doesn không cho phép tôi tải lên bất kỳ thứ gì ngoài các tệp BMP, điều này không được chấp nhận cho dự án này. Không giống như người dùng trong liên kết thứ hai, tôi không sử dụng Apache, vì vậy vấn đề của tôi có lẽ không liên quan. Nghi ngờ của tôi là Django vẫn đang sử dụng một cài đặt cũ của PIL. Vấn đề là tôi không biết nó có thể lấy nó từ đâu. Các tệp trong ~/.virtualenvs/project/local/lib/python2.7/site-packages
dường như được cập nhật cho tôi. Bất kỳ ý tưởng?
EDIT 1: Cũng lưu ý rằng tôi đã cố gắng đăng xuất và đăng nhập lại trong admin, cũng như cài đặt pillow
, như trong bài này: Uploading a JPEG image via Django displays error
Bạn đã thử cài đặt [Pillow] (http://pypi.python.org/pypi/Pillow) thay vì PIL? Kiểm tra sys.path của bạn – jterrace
Bạn có thể tải lên mô hình của mình không? – nicowernli
@jterrace: Có. Và cài đặt đó cũng cho tôi biết hỗ trợ JPEG đã có sẵn. – novembrine