Django - 新字体?

DGD*_*GDD 16 python django fonts

如何使用Django安装新字体?文件中没有提到这一点.

我将我的字体安装在静态文件夹中,如fonts/abc.ttf

例如,在模板中,如果这是一个CSS,我会链接它:

    <link href="{% static 'fonts/abc.ttf' %}" rel="stylesheet" media="screen">
Run Code Online (Sandbox Code Playgroud)

除了这不是CSS,我还没有找到任何关于如何做到这一点的资源.

我是否像这样在CSS文件中包含链接?

  @font-face {
  font-family: 'abc';
  src: url({% static 'fonts/abc.ttf' %});
  src: local({% static 'fonts/abc.ttf' %})
}
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

Sau*_*abh 32

对于像这样的目录结构,

-- static
 |--fonts
 | |--abc.ttf
 |
 |--css
   |-- main.css
Run Code Online (Sandbox Code Playgroud)

在main.css,你应该添加.

@font-face {
  font-family: 'abc';
  src: local('Abc'),
       url('../static/fonts/abc.ttf') format("truetype");
}
Run Code Online (Sandbox Code Playgroud)

您不能{% static 'filename' %}在css文件中使用,因为它不会由django模板引擎呈现.

虽然如果你想要(不可取),<head>你可以添加以下内容:

<style>
  @font-face {
    font-family: 'abc';
    src: local('Abc'),
         url('{% static 'fonts/abc.ttf' %} format("truetype")');
  }
</style>
Run Code Online (Sandbox Code Playgroud)

  • 由于某种原因,当地部分正在绊倒我.结束只包括font-family和src:url并且它有效. (3认同)
  • @DGDD我修复了本地参数。它不应该包含静态,并且 ttf 应包含格式 (2认同)