153

reportlabpdfgenを使用してPDFを作成しています。PDFには、によって作成された画像がありdrawImageます。このためには、画像へのURLまたはビュー内の画像へのパスのいずれかが必要です。URLを作成できましたが、画像へのローカルパスを取得するにはどうすればよいですか?

URLの取得方法:

prefix = 'https://' if request.is_secure() else 'http://'
image_url = prefix + request.get_host() + STATIC_URL + "images/logo_80.png"
4

8 に答える 8

306
# Older Django <3.0 (also deprecated in 2.0):
from django.contrib.staticfiles.templatetags.staticfiles import static

# Django 3.0+
from django.templatetags.static import static

url = static('x.jpg')

'/static/x.jpg'の静的パスを想定して、url に が含まれるようになりました。'/static/'

于 2013-07-19T05:18:26.267 に答える
31

Django 3.0 からは、以下を使用する必要がありますfrom django.templatetags.static import static

from django.templatetags.static import static

...

img_url = static('images/logo_80.png')
于 2019-12-16T10:56:01.433 に答える
15

ここに別の方法があります!(Django 1.6でテスト済み)

from django.contrib.staticfiles.storage import staticfiles_storage
staticfiles_storage.url(path)
于 2016-06-21T19:05:14.480 に答える