gpt4 book ai didi

Django-Weasyprint 图像问题

转载 作者:行者123 更新时间:2023-12-03 20:18:43 24 4
gpt4 key购买 nike

正如它在文档页面中所说,我在我的 html 文件中定义了一个 img 标签,如下所示:

<img src='{% static 'image.png' %}'/>

这个 url 存在于服务器中,我什至用 http 响应做了一个不同的 View ,图像显示得很好 .这是两个 View 的代码:

pdf-weasyprint View :
def card_view(request):
template = loader.get_template('card.html')
context = {'sample': None
}
html = template.render(RequestContext(request, context))
response = HttpResponse(mimetype='application/pdf')
HTML(string=html).write_pdf(response)
return response

html View :
def card_view2(request):
context = {'sample': None,
}
return render_to_response('card.html', context,
context_instance=RequestContext(request))

我认为默认的 url fetcher 应该找到并呈现图像(它是一个 png - 所以不应该涉及格式问题)
有任何想法吗?任何帮助,将不胜感激!!

最佳答案

究竟是什么问题?你在日志中得到了什么吗? (如果您的服务器没有记录标准错误,您可能需要 configure logging。)生成的 HTML 是什么样的?

我真的需要上面的答案来确认,但我的猜测是图像的 URL 是相对的,但是 HTML(string=...) WeasyPrint 不知道什么是基本 URL。尝试这样的事情。 (我不确定 Django 的细节。)

HTML(string=html, base_url=request.build_absolute_uri()).write_pdf(response)

这将在您的应用程序上发出真正的 HTTP 请求,这可能会在单线程服务器上死锁。 (我认为开发服务器默认为单线程。)

为了避免这种情况以及通过网络的成本,您可能需要考虑编写自定义 "URL fetcher" .它可以是任何地方,从专门的图像到仅此一张图像,再到完整的 Django 等效于 Flask-WeasyPrint .

关于Django-Weasyprint 图像问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19121196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com