我正在尝试使用 Django(1.8) render_to_string 通过管理命令将 html 转换为 pdf,而不是使用 View/request。以下代码可以将模板转换为 pdf。但它无法将 CSS 加载到模板中。
def html_to_pdf():
...
context = {'some_key': 'some_value'}
html = render_to_string('my_app/sample.html', context)
file.write(html)
...
示例.html
{% load static %}
<link href="{% static 'my_app/css/sample.css' %}" rel="stylesheet" type="text/css"/>
我还在设置文件中定义了静态:
STATIC_URL = '/static/'
在我的 Django 项目中,还有另一个 View 函数,可以在调用 url 时使用 CSS 加载模板。所以我认为这个问题与 render_to_string 有关。
任何人都可以帮忙吗?
假设你有django.core.context_processors.static
对于 Djangodjango.template.context_processors.static对于模板上下文处理器中的 1.10,问题是您正在传递一个简单的上下文字典,而使用render
在视图中你神奇地得到了RequestContext https://docs.djangoproject.com/en/1.10/ref/templates/api/#subclassing-context-requestcontext它根据您设置中的上下文处理器自动填充一些变量。在这种情况下上下文处理器 https://docs.djangoproject.com/en/1.10/ref/templates/api/#django-template-context-processors-static填充一个名为的变量STATIC_URL
等于您设置中同一变量的值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)