0

これは私のコードです

{% thumbnail  ham.thumbnail_url "50x20" crop="center" as im %}
   <img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endthumbnail %}    

これは、imgsrcの出力がどのようになるかを示しています。

cache/81/a8/81a884b2bce95dfe60e7397ea15d10f2.jpg

ドキュメントからのこの例でも

 {% thumbnail "http://www.aino.se/media/i/logo.png" "40x40" crop="80% top" as im %}
 <img src="{{ im.url }}">
 {% endthumbnail %}

どうしたの?

更新

{% thumbnail  ham.thumbnail_url "220x120" crop="center" as foo %}
<img src="{{MEDIA_ROOT}}{{ foo.url }}" width="{{ foo.width }}" height="{{ foo.height }}">
{% endthumbnail %}

これで、すべての画像を含む「media」ディレクトリ内に「cache」というディレクトリがあり、生成されたコードは次のようになります。

 <img width="220" height="120" src="/media/cache/c6/5d/c65d3cd46c4ef6154c788526bfa3447f.jpg">

これが私の設定です

 MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'media')
 MEDIA_URL = '/media/'
 STATIC_URL = '/static/'

しかし、画面に画像が表示されません==指定されたURLを読み込めませんでした(firebug)

これを機能させる1つの可能な方法は、静的ディレクトリ内にキャッシュディレクトリを自動生成することです。キャッシュディレクトリを静的ディレクトリにコピーし、設定を次のように変更した場合に機能します

MEDIA_URL = ''
<img src="{{STATIC_URL}}{{ foo.url }}" width="{{ foo.width }}" height="{{ foo.height }}">
4

2 に答える 2

1

これは、sorl-thumbnailがファイルに名前を付けるための標準的な方法です。ファイルは、サムネイルタグと呼ぶ引数によってサイズが変更されます。結果は、cache / 81 / a8/81a884b2bce95dfe60e7397ea15d10f2.jpgのようなURLになります。何も表示されない場合は、STATIC_URL設定を確認することをお勧めします。

多くのサイトには静的URLがあり、画像のsrcは次のように表示されます。

http://static.example.com/cache/81/a8/81a884b2bce95dfe60e7397ea15d10f2.jpg

また

http://example.com/media/cache/81/a8/81a884b2bce95dfe60e7397ea15d10f2.jpg

于 2011-12-10T10:53:12.693 に答える
1

メディアルートを変更します。 MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'media')

LOCALでこのようなものに:

MEDIA_ROOT = /home/user/project/app/media/

MEDIA_URL = /site_media/

本番環境では、次のようなことを行いました。

MEDIA_ROOT = '/home/user/webapps/media/'

MEDIA_URL = 'http://domain.com/site_media/'

新しいsorlに切り替えたときにこれに問題がありましたが、今はすべてうまくいきます。お役に立てれば。

于 2011-12-22T01:33:12.770 に答える