Использование пользовательских шрифтов в TinyMCE API для редактора в админке django

Я пытаюсь использовать TinyMCE API в админке Django для редактирования записей в блоге.

Он работает безупречно. Однако теперь я хочу добавить пользовательские шрифты в мой редактор.

Согласно tinymce документации для добавления пользовательских шрифтов я выполнил все шаги, но все еще не могу понять, что не так.

Шаг-1: Добавьте шрифты в соответствии с опциями меню

admin/base.html:

font_formats:"Andale Mono=andale mono,times; ........ ; Montserrat = Montserrat , sans-serif",`

Шаг-2: Импорт шрифтов в tinymce

admin/base.html:

{% extends "admin/base.html" %}
{% load static %}
{% block footer %}
        tinymce.init({
        ....
        content_css: "{% static "TinyMCE/style.css" %}",
        content_style:"@importurl('https://fonts.googleapis.com/css2family=Montserrat:ital,wght@0,400;0,600;1,400&display=swap');",
        ....
{% endblock %}

TinyMCE/style.css

@import url('https://fonts.googleapis.com/css2family=Montserrat:ital,wght@0,400;0,600;1,400&display=swap');

моментальный снимок: пользовательский шрифт добавлен в выпадающее меню 'Monstserrat'

Шаг 3: Импортируйте шрифт на страницу

admin/base.html

{% block extrahead %}
<style>
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,600;1,400&display=swap');
* {font-family : 'Montserrat', sans-serif;}
</style>
{% endblock %}

моментальный снимок: в выпадающем списке пользовательский шрифт меняется с fallback-шрифта на 'Monstserrat'

Шаг 4: Импорт шрифта на любые опубликованные страницы Я использую tailwind в своем проекте, и мой шрифт по умолчанию - Monstserrat, который отлично работает на сайте

style.css

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,600;1,400&display=swap');
body{
    font-family: Montserrat, sans-serif;
}

Проблема:

Обратите внимание, что я не использую пакет django-tinymce, а использую API tinymce.

Шаг-1:

Убрать пробел между шрифтами

Montserrat=Montserrat,sans-serif

Это связано с тем, что font-family: 'Montserrat' будет отображаться правильно, а с пробелом font-family: ' Montserrat' не отображается. В случае пробела шрифт не будет загружаться в браузер.

Шаг-2:

Нам не нужно указывать content_style после того, как мы указали content_css. В некоторых случаях это может быть полезно, но в данном случае нет смысла добавлять оба тега. Плюс добавьте тег {% load static %} перед вашим скриптом

{% extends "admin/base.html" %}
{% load static %}
{% block footer %}
        {{ block.super }}
        
        {% load static %}
        <script>
        tinymce.init({
        ....
        content_css: '{% static "TinyMCE/style.css" %}',
        ....
{% endblock %}

Моя проблема решена. Дайте мне знать, если у вас есть какие-либо вопросы.

Вернуться на верх