我想在我的style.css文件中使用一种将由StaticFiles提供服务的自定义字体
我知道我可以用这样的方式硬编码:
@font-face {
font-family:"NotoSansArabic";
font-style:normal;
src:
url("/static/myApp/fonts/NotoSansArabicUI-ExtraBold.ttf") format("truetype")
}我在找这样的东西:
{% static 'myApp/fonts/NotoSansArabicUI-ExtraBold.ttf' %}
还有别的办法吗?
字体和style.css都用作Static。
发布于 2018-09-29 16:04:40
要使{% static %}工作,您需要一个Django模板,而不是一个静态文件。这实际上是可能的:您可以创建一个名为i.djangostyle.css的文件并将其放入您的templates文件夹中。在这个文件中,您可以像往常一样使用{% static %}。然后,从模板中使用{% include %}引用这个文件。
如果您想看到这方面的完整示例,请查看我的Django PDF指南文章:https://spapas.github.io/2015/11/27/pdf-in-django/#changing-the-font-to-a-unicode-enabled-one
下面是两个相关的文件:
名为pdfstylefonts.css的Django模板样式表位于templates目录中:
{% load static %}
@font-face {
font-family: "Calibri";
src: url({% static "fonts/calibri.ttf" %});
}以及html模板:
{% load static %}
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
{% include "pdfstylefonts.css" %}
</style>
<link rel='stylesheet' href='{% static "pdfstyle.css" %}'/>
</head>
<body>
<h1>Λίστα βιβλίων</h1>
<img src='{% static "pony.png" %}' />
<table>
<tr>
<th>ID</th><th>Title</th><th>Cover</th>
</tr>
{% for book in books %}
<tr>
<td>{{ book.id }}</td><td>{{ book.title }}</td><td><img src='{{ book.cover.url }}' /></td>
</tr>
{% endfor %}
</table>
</body>
</html>请注意css模板(通过<style>{% include "pdfstylefonts.css" %}</style>包含它)和普通css文件(在<link rel='stylesheet' href='{% static "pdfstyle.css" %}'/>中通常包括它)之间的区别。
https://stackoverflow.com/questions/52570000
复制相似问题