sorl-thumbnail のドキュメントを見てきましたが、次の方法がまだわかりません。 1. 画像を sorl-thumbnail にアップロードします。2. sorl サムネイルから画像を選択的に表示します。(たとえば、ビューの sorl-thumbnail から特定の画像を読み込み、カスタマイズされたサイズで表示するなど)
このライブラリを django ビューで使用する方法について、具体的な例を挙げていただけますか?
前もって感謝します : )
sorl-thumbnail のドキュメントを見てきましたが、次の方法がまだわかりません。 1. 画像を sorl-thumbnail にアップロードします。2. sorl サムネイルから画像を選択的に表示します。(たとえば、ビューの sorl-thumbnail から特定の画像を読み込み、カスタマイズされたサイズで表示するなど)
このライブラリを django ビューで使用する方法について、具体的な例を挙げていただけますか?
前もって感謝します : )
より高い柔軟性が必要な場合は、ビューでサムネイルを生成できます。以下は、sorl-thumbnail のドキュメントから直接引用したものです。
from sorl.thumbnail import get_thumbnail
im = get_thumbnail(my_file, '100x100', crop='center', quality=99)
im
thumbnail
then は、テンプレート タグから返されるものと同じです。したがって、その変数をテンプレート コンテキスト、またはその一部に追加できます。たとえば、単に URL が必要な場合:
my_context = {
'image_url': im.url,
}
サムネイル テンプレート タグを使用して sorl.thumbnail を使用できます。次に例を示します。
{% load thumbnail %}
{% thumbnail recipe.image "430x250" as thumb %}
<img src="{{ thumb.url }}" width="{{ thumb.width }}" height="{{ thumb.height }}" alt="{{ recipe.title }}" />
{% endthumbnail %}
画像を sorl.thumbnail にアップロードしたり、sorl.thumbnail からロードしたりしません。適切な構成の後、画像のサイズが自動的に変更されて保存され、thumbnail
テンプレート タグを使用して画像の適切な URL を取得できます。
sorl-thumbnail を使用する必要がある場合、2 種類の画像を区別します。
ImageField を使用して Django にオブジェクトがある場合、次のようなサムネイルでレンダリングします。
# Let's supose our object imagefield is called img
{% thumbnail obj.img "100" upscale=false as im %}
<img src="{{ im.url }}"/>
{% empty %} # In case the object doesn't have an image, use generic one
{% thumbnail "img/empty_img.jpg" "236" upscale=false as im %}
<img src="{{ im.url }}" />
{% endthumbnail %}
{% endthumbnail %}
プロジェクトのローカル パスを使用してイメージをロードするには:
{% thumbnail "img/myImage.jpg" "236" upscale=false as im %}
<img src="{{ im.url }}" />
{% endthumbnail %}
重要:サムネイルはMEDIA_URLを指定したパスに連結することに注意してください。この場合、次のようなパスが必要です。yourapp/media/img/myImage.jpg
URLを使用して画像を読み込むのは簡単で、サンプルです。
{% thumbnail "http://www.nextgen-gallery.com/wp-content/uploads/2008/12/abend.jpg" "236" upscale=false as im %}
<img src="{{ im.url }}" />
{% endthumbnail %}