Django WeasyPrint CSS集成警告:没有基URI的相对URI引用:<link href ="/ static/css/bootstrap.min.css"> at line none

ais*_*ant 11 html css pdf django weasyprint

我想在Django中使用WeasyPrint生成报告.但我不知道如何集成css(特别是bootstrap css文件).我能够看到生成的html.但是当我将这一行添加到我的模板时,我收到警告 -

<link href="/static/css/bootstrap.min.css" rel="stylesheet"/>

警告是 - 没有基URI的相对URI引用:在行None

我想知道如何将基URI发送到模板.任何帮助,将不胜感激.

ais*_*ant 15

回答我自己的问题.是的,这太荒谬了.我所要做的就是添加base_url=request.build_absolute_uri().所以print命令看起来像:

weasyprint.HTML(string=html,base_url=request.build_absolute_uri()).write_pdf(response)
Run Code Online (Sandbox Code Playgroud)

  • 请求对象从何而来? (2认同)
  • 对于更多读者来说,Weasyprint 基本上想要这个“HTML(string=html_rendered, base_url="/app")”——这是一个绝对位置或 URL。当然,它应该被去硬编码。 (2认同)