Шрифт моего django приложения из Digital Ocean Space не работает - PullRequest
0 голосов
/ 26 мая 2020

У меня есть приложение django на живом сервере, файлы stati c размещены в пространствах Digital Ocean. Файлы stati c работают хорошо, а шрифты - нет. Я подумал, что, вероятно, это связано с тем, что файлы шрифтов связаны с папкой / static /, поэтому я изменил параметр @font-face src: url() на ссылку cdn цифровых океанов для файлов шрифтов, но она все еще не работает. Я даже встроил правило @font-face в шаблон html и соединил файлы шрифтов с URL-адресом шаблона django stati c files, но он все еще не работает. Хотя шрифт работает на моем loacalhost.

{% load static %}

<head>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no">

    <style type="text/css">

        @font-face {
            font-family: 'TT Norms Pro';
            src: url(' {% static 'user/fonts/TTNormsPro-Bold.eot' %} ');
            src: local('TT Norms Pro Bold'), local('TTNormsPro-Bold'),
                url('{% static 'user/fonts/TTNormsPro-Bold.eot?#iefix' %} ') format('embedded-opentype'),
                url('{% static 'user/fonts/TTNormsPro-Bold.woff2' %}') format('woff2'),
                url('{% static 'user/fonts/TTNormsPro-Bold.ttf' %}') format('truetype');
            font-weight: bold;
            font-style: normal;
        }

        @font-face {
            font-family: 'TT Norms Pro';
            src: url('{% static 'user/fonts/TTNormsPro-Regular.eot' %}');
            src: local('TT Norms Pro Regular'), local('TTNormsPro-Regular'),
                url('{% static 'user/fonts/TTNormsPro-Regular.eot?#iefix' %}') format('embedded-opentype'),
                url('{% static 'user/fonts/TTNormsPro-Regular.woff2' %}') format('woff2'),
                url('{% static 'user/fonts/TTNormsPro-Regular.woff' %}') format('woff'),
                url('{% static 'user/fonts/TTNormsPro-Regular.ttf' %}') format('truetype');
            font-weight: normal;
            font-style: normal;
        }


    </style>

    <link rel="stylesheet" href=" {% static 'user/libs/css/bootstrap.min.css' %} ">
    <link rel="stylesheet" href=" {% static 'user/libs/fontawesome/css/all.min.css' %} ">
    <link rel="stylesheet" href=" {% static 'user/libs/css/flatpickr.min.css' %} ">
    <link rel="stylesheet" href=" {% static 'user/libs/css/animate.css' %} ">
    <link rel="stylesheet" href=" {% static 'user/default-styles.css' %} ">
    <link rel="stylesheet" href=" {% static 'user/styles.css' %} ">
    <link rel="stylesheet" href=" {% static 'user/media-queries.css' %} ">


    <script src=" {% static 'user/libs/js/jquery-3.3.1.min.js' %} "></script>
    <script src=" {% static 'user/libs/js/popper.min.js' %} "></script>
    <script src=" {% static 'user/libs/js/bootstrap.min.js' %} "></script>
    <script src=" {% static 'user/libs/js/list.min.js' %} "></script>
    <script src=" {% static 'user/libs/js/sweetalert2@9.js' %} "></script>
    <script src=" {% static 'user/libs/js/flatpickr.js' %} "></script>
    <script src="https://kit.fontawesome.com/88095687d9.js" crossorigin="anonymous"></script>

</head>

1 Ответ

0 голосов
/ 28 мая 2020

Технически эта проблема возникла из-за того, что у моего веб-сайта не было межсайтового доступа к файлам шрифтов, поэтому их нельзя использовать. Чтобы решить эту проблему, я зашел в конфигурацию CORS в своей учетной записи Digital Ocean Spaces и добавил свое доменное имя в поле «Источник», а также установил для «Разрешенные методы» значение GET. Потом на моем сайте начали работать шрифты. Для получения дополнительной информации об этом посещении Конфигурация CORS Digital Ocean Spaces

...