Django wkhtmltopdf 中的静态文件

Mal*_*alT 5 django macos wkhtmltopdf

我在生成 PDF 文件时遇到问题 - 如果路径如下所示,django 不提供 wkhtmltopdf 静态文件:

<link rel="stylesheet" type="text/css" href="{% static 'flot/fms.css' %}">
Run Code Online (Sandbox Code Playgroud)

但如果我给出一个直接路径,它会起作用:

<link rel="stylesheet" type="text/css" href="http://localhost:8000/static/flot/fms.css">
Run Code Online (Sandbox Code Playgroud)

静态文件的问题仅在于从 Web 生成 PDF 时,从控制台文件正确生成。

Fil*_*vić 2

您需要正确配置STATIC_ROOTSTATIC_URL进行生产。根据您的STATICFILES_DIRS配置STATICFILES_FINDERS,您的静态源将与应用程序的源放在一起,而静态源必须STATIC_ROOT位于源的路径之外,因为这些数据本质上是瞬态的。

这意味着您必须依赖$ python manage.py collectstatic在生产中运行。路径匹配STATIC_URL应由您的 Web 服务器处理,并将根配置为匹配STATIC_ROOT文件的服务位置。

您可以从文档中查看应用程序指南和在生产中部署静态文件django.contrib.staticfiles的指南,以了解更多细节。

  • 那么在开发阶段呢? (3认同)