Замените символ в шаблоне Django перед окончательным рендерингом. - PullRequest
0 голосов
/ 10 января 2019

Я хочу сделать все свои звездочки (*) в шаблоне красным цветом в шаблоне Django. (Например, в метках формы, которые * символ указывает на поле, обязательно. Но если поставить * в метке поля формы, оно отображается как черный цвет, как обычно.

Как мне это сделать, например, зарегистрировав фильтр или тег?

Обратите внимание, что я использую некоторые библиотеки (например, форму bootstrap4), и страница заполнена {{}} тегами. НО я хочу найти и заменить все; black * 'на' red * 'на окончательно обработанной html-странице.

EDIT : я использую django-bootstrap4 и поэтому просто использую {% bootstrap_form form %} в моих шаблонах. (Так что у меня нет явного доступа к текстам меток) Как я могу выполнить свою цель?

1 Ответ

0 голосов
/ 11 января 2019

Вот что у меня работает

# templatetags/custom_tags.py
from django import template

register = template.Library()

@register.filter
def mark_as_required(text):
    return '<span style="color:red">{text}</span>'.format(text=text)
# templates/xxx.html
...
{% load custom_tags %}
...
{{ '*'|mark_as_required|safe }}
...
...