Выделение внутренних блоков кода в Django Template Engine с помощью django-pygmentify

Я использую пакет django-pygmentify для того, чтобы выделять блоки кода в моих шаблонах Django. Дело в том, что этот пакет поддерживает только блоки кода в качестве входных данных. У меня есть поле модели, которое хранит данные в формате уценки. Эти данные могут содержать блоки кода. (используя символ ```)

Теперь, как я могу выделить его внутренние блоки кода?

Представьте, что у меня есть поле, которое содержит только исходный код. Например:

print('Hey..!')

В этом случае этот работает правильно.

{% load pygmentify_tags %}
...
{% pygmentify %}
{{post.code}}
{% endpygmentify %}

Представьте, что мое поле содержит следующее содержимое.

## Hello
This is my first step working with Python.
```python
print('Hey..!')
‍```

В этом случае, как я могу это реализовать??? Я могу отобразить весь этот контент с помощью {{post.body|markdown|safe}}, но как я могу выделить эти блоки кода? Я также хочу дать всем этим блокам кода имя класса .code-block для лучшей стилизации. Должен ли я создать пользовательский тег шаблона?

Вы можете использовать стандартный html тег <code> следующим образом:

{% load pygmentify_tags %}
...
{% pygmentify %}
<code>
{{post.code}}
</code>
{% endpygmentify %}

Это отделит участок кода и одновременно применит к нему pygmentify.

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