Пользовательские шрифты "не могут быть загружены" при рендеринге PDF с помощью weasyprint в приложении Django

У меня проблемы с тем, чтобы заставить weasyprint использовать пользовательские шрифты для создания PDF. Я думаю, что это связано с взаимодействием между параметром weasyprint base_url и моими статическими файлами, но я пытаюсь решить эту проблему.

При генерации PDF я получаю следующую ошибку:

fonts/add_font_face - Font-face 'Playfair Display' cannot be loaded

Мои файлы шрифтов находятся в static/fonts в моем приложении "галерея":

- project
  - manage.py
  - ...
  - gallery
    - static
      - files
    - views.py
    - url.py
    - ...

Я создаю свой pdf с помощью следующей команды:

base_url = request.build_absolute_uri("/")
HTML(string=template, base_url=base_url).write_pdf(output)

В моем шаблоне используется блок <style> со следующими определениями font-face, в идеале с использованием тега Django static:

@font-face {
  font-family: 'Playfair Display';
  font-weight: normal;
  src: url({% static 'fonts/PlayfairDisplay-Regular.ttf' %}) format("truetype");
}

Предложения по решению этой проблемы?

Я включил "отладочную" регистрацию для weasyprint и увидел, что шрифты не загружаются из-за следующей ошибки SSL:

URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:997)>

Ранее я включил SSL для этого проекта, но теперь в нем нет необходимости. Отключение всех SSL в проекте решило эту проблему.

Теперь шрифты будут загружаться корректно:

@font-face {
  font-family: 'Playfair Display';
  font-weight: normal;
  src: url({% static 'fonts/PlayfairDisplay-Regular.ttf' %}) format("truetype");
}
Вернуться на верх