我正在处理电子邮件模板,因此我想嵌入一个css文件
<head>
<style>{{ embed 'css/TEST.css' content here }}</style>
</head>
而不是链接
<head>
<link href="{% static 'css/TEST.css' %}" rel="stylesheet" type="text/css">
</head>
有什么想法吗?
答案 0 :(得分:3)
我猜你可以使用include
<style>{% include "/static/css/style.css" %}</style>
https://docs.djangoproject.com/en/1.9/ref/templates/builtins/#include
但是在视图中加载css文件的内容可能会更好,并将其放在视图的上下文中以将其发送到模板
答案 1 :(得分:2)
您可以使用django-compressor包。它将添加{% compress %}
模板标记,可以将一堆JS或CSS文件(或内联代码)连接在一起,并将其作为新的大文件或内联代码放入模板中。例如,为了内联一个CSS文件,您可以使用:
{% compress css inline %}
<link href="{% static 'css/TEST.css' %}" rel="stylesheet" type="text/css">
{% endcompress %}
您可以将更多CSS文件添加到一个压缩标记中,它们将连接在一起并包装到一个<style>
标记中。
查看usage examples了解详情。
答案 2 :(得分:1)
解决方案是使用include:
<head>
<style>{% include "../static/css/TEST.css" %}</style>
</head>
但它有点乱! 您必须在模板目录中放置副本或链接到css文件。或者您使用上面的硬编码链接,这可能会破坏生产。