4

プロジェクトで django easy_thumbnail を使用しており、手順を順を追って説明しています。しかし、URLが返されないことがわかりました。

imageField を含むモデルは次のとおりです。

class Project(models.Model):
   name = models.CharField(max_length=100)
   description = models.CharField(max_length=2000)
   startDate = models.DateField(auto_now_add=True)
   photo = models.ImageField(upload_to="projectimg/", null=True, blank=True)

そして設定で、私は指定します:

    THUMBNAIL_ALIASES = {
    '': {
        'avatar': {'size': (50, 50), 'crop': True},
    },
    }

そして、テンプレート フィルターを使用します。

<div class="image">
    <img src="{{ MEDIA_URL }}{{ project.photo|thumbnail_url:'avatar'}}" class="img-responsive" alt="{{ project.name }}">
</div>

ただし、フィルターは何も返さないようです。URLが見つからないからですか?それとも他の理由?御時間ありがとうございます!

4

2 に答える 2

3

この質問は少し古いですが、同じ問題 (OS X Mavericks 10.9.2 を使用) に遭遇していました。ここで {{ MEDIA_URL }} を入力すると表示されますが、2 番目の部分は表示されませんでした。だから私はこの質問に答えると思った(答えを探しているときに出くわした).

まず最初に: 質問に対するコメントのユーザーfreylisは正しいです。あなたは必要ありませ

{{ MEDIA_URL }}

まったく。

私が最初にしたことの 1 つは、settings.py を変更することでした。

THUMBNAIL_DEBUG = True

そして、それは私にいくつかのデバッグ情報を与えました。2番目の部分が作成していたパスとファイルが存在しないことを私に伝えていたので、情報は誤解を招くものでした...これはサーバー側で行われたことがわかりました。

少し掘り下げた後、作業している画像タイプのライブラリをインストールする必要があるかもしれないことがわかりました(homebrewを使用したコマンドラインで):

brew install libjpeg

それをしたら、Pillowをアンインストールして再インストールしました:

pip uninstall Pillow
pip install Pillow --upgrade

「--upgrade」は、最初にインストールしたときに以前にコンパイルされたライブラリのみを使用するのではなく、使用する新しいライブラリ (この場合は libjpeg) をコンパイルすると思います。

これを行うと、サイトを更新することができ、画像が表示されるようになりました。

于 2014-04-23T13:44:34.430 に答える