在我的Django項目中,如果星號*
出現在文本的開始和結尾處,我們在Stack Overflow中具有相同的功能,那麼我想使文本變爲粗體。雖然我將**
轉換爲<b>
,但由於輸出轉義,它變成了<b>
。實現這一目標的正確方法是什麼?帶星號的粗體文本
模板文件包含{{ anidea.description|format_text}}
format_text
是自定義模板過濾器
代碼..
from django import template
from django.utils.safestring import mark_safe
register = template.Library()
@register.filter(name='format_text')
def custom_formating(value):
for word in value.split():
start = word[:2]
end = word[-2:]
if start == '**' and end == '**':
word = word[2:-2]
word = '<b>' +word+ '</b>'
mark_safe(word)
return value
您能否顯示當前實現的[mcve]?你有沒有考慮過使用現有的Markdown庫?閱讀Django何時以及如何應用HTML轉義? – jonrsharpe
「Bold for Delphi是一種先進的對象關係映射器(ORM)和應用框架,不要用於名爲」bold「的字體樣式。添加標籤時請閱讀您的標籤說明。 – Sayse
我是新來的django ..對圖書館沒有太多的瞭解 – Shri