嘿,是否可以在视图中自定义文本,这些文本在模板上输出时,某些单词的颜色会有所不同?例如,我有一个要输出到模板的单词:
def test(request):
text = 'test text but this section is red'
return render(request, 'test.html', {'text':test}
如何为“此部分为红色”获得其他颜色,但其余部分正常显示在模板中?
答案 0 :(得分:0)
将其拆分为两个,以便您可以在模板中对其进行区分。
def test(request):
text = 'test text but'
red_text = 'this section is red'
return render(
request,
'test.html',
{'text': text, 'red_text': red_text}
)
然后进入模板;
<p>{{ text }} <span style="color: red">{{ red_text }}</span></p>
答案 1 :(得分:0)
是的,您可以使用不同的方法来实现。
Django在模板中具有safe
过滤器和autoescape
标签。
def test(request):
text = '<span style="color: red">test text but this section is red</span>'
return render(request, 'test.html', {'text':test}
并在模板中使用;
{{ text|safe }}
或
{% autoescape off %} {{ text }} {% endautoescape %}
或者您可以使用mark_safe
from django import template
from django.utils.safestring import mark_safe
register = template.Library()
@register.filter
def custom_filter(text, color):
safe_text = '<span style="color:{color}">{text}</span>'.format(color=color, text=text)
return mark_safe(safe_text)
和模板中;
{{ text|custom_filter:'red'}}