私はこの投稿に従いました:django --pisa:PDF出力に画像を追加し、fetch_resourcesを使用します。PDFファイルは、画像が欠落していることを除いて、通常どおり生成できます。
これは私のコードです:
def fetch_resources(uri, rel):
path = os.path.join(settings.MEDIA_ROOT, uri.replace(settings.MEDIA_URL, ""))
return path
def render_to_pdf(template_src, context_dict, filename):
template = get_template(template_src)
context = Context(context_dict)
html = template.render(context)
result = StringIO.StringIO()
pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("ISO-8859-1")),
dest=result,
link_callback=fetch_resources )
if not pdf.err:
response = HttpResponse(result.getvalue(), mimetype='application/pdf')
response['Content-Disposition'] = 'attachment; filename=' + filename
return response
return HttpResponse('We had some errors<pre>%s</pre>' % escape(html))
これは私のテンプレートです:
<p><img src="{{ copyright.digital_signature.url }}"></p>
「copyright.digital_signature.url」はブラウザに画像を正しく表示できるので正しいと思います。そして、それはPILがインストールされたことを意味しますか?
誰かが問題が何であるか私を助けることができますか?どうもありがとうございます!