4

私は Django が初めてで、現在、最初のプロジェクトに取り組んでいます。サムネイルには sorl-thumbnails を使用していますが、奇妙なエラーに腹を立てて、どこから来たのかわかりません。

私がやろうとしているのは、画像のサイズを変更し、キャンバスで 165x165 をトリミングすることです。その後、画像をサーバーに送信し、PIL で保存します。90% のケースですべて正常に動作していますが、コンソールに「イメージ ファイルの書き込み中にエンコーダ エラー -2」および「ここで中断できません」というエラー メッセージが表示されることがあります。次の行で例外が発生します。

{% thumbnail request.user.artist.get_avatar "50x50" crop="center" as im %}

ここで奇妙なのは、「50x50」から「55x55」に変更したときです。すべてが機能し始めます。

写真は常に同じサイズ (165x165) です。メディア フォルダにチェックインしたところ、画像は適切に保存されています。私が使用している python バージョンは python 3.3.2 で、Pillow のバージョンは 2.2.2 と Django 1.6 です。どんな助けでも役に立ちます。

前もって感謝します。

4

2 に答える 2

0

ここで私の答えを確認してくださいhttps://stackoverflow.com/a/41018959/1176671 私はDjangoプロジェクトでそれを行っているので、Djangoでも役立つことを願っています.

于 2016-12-07T13:40:01.393 に答える
0

sorl-thumbnail で使用すると、同じエラーが発生しました。Google に長い時間を費やした後、このシンプルなソリューションにたどり着きました。実際、エラーはPIL(python-pil)から発生します。しかし、Ubuntu ユーザーの場合、「pip install PIL」はサービスを終了しました :(。しかし、最もクールなことは、単純なパッケージ python-imaging によってこのエラーを取り除くことができることです。

sudo apt-get install python-imaging

sorl-thumbnail チュートリアルに記載されている python-pil およびその他の依存関係が既にインストールされていることを願っています。

サムネイル用

sudo apt-get install libjpeg62 libjpeg62-dev zlib1g-dev

python-pil 用

sudo apt-get install python-pil python-pil-doc python-pil-dbg
于 2016-08-11T16:28:03.073 に答える