[Django]-Django – New fonts?

66πŸ‘

βœ…

For the directory structure like so,

-- static
 |--fonts
 | |--abc.ttf
 |
 |--css
   |-- main.css

In the main.css, you should add.

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

You can’t use {% static 'filename' %} inside a css file, since it will not be rendered by the django templating engine.

Also, if you want you can add the following in the <head> section of base.html, and it will render a fully qualified path for static assets:

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

Edit: Fixed the use of local and also removed the preference around location of style tag in html.

πŸ‘€Saurabh Kumar

3πŸ‘

I am using this option to avoid absolute path and/or css in html template:

@font-face {
    font-family: 'HKGrotesk';
    font-style: normal;
    font-weight: bold;
    src: local('HKGrotesk'), url('/static/fonts/hk-grotesk/HKGrotesk-SemiBoldLegacy.otf') format('opentype');
}
πŸ‘€matousc

Leave a comment