我要在Django模板中的红色模板中制作所有星号(*)。 (例如,在带有*符号指向该字段的表单标签中是必需的。但是,在将*放在表单字段的标签中时,它通常会呈现为黑色。
如何通过例如注册过滤器或标签来实现此目的?
请注意,我使用了一些库(例如bootstrap4表单),并且页面上充满了{{}}标签。但是我想在最终呈现的html页面中查找并替换所有“ black *”和'red *'。
编辑:我使用django-bootstrap4,所以我只使用
{% bootstrap_form form %}
在我的模板中。 (因此,不能明确访问标签文本)我该如何实现目标?
答案 0 :(得分:1)
这对我有用
# 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 }}
...