我试试'用CamelCase创建一个新页面。我正在按照教程使用自定义过滤器来浏览页面:
from django import template
import re
wikilink = re.compile("\\b([A-Z][a-z]+[A-Z][a-z]+)\\b")
register = template.Library()
@register.filter
def wikify(value):
return wikilink.sub(r"<a href='/wikicamp/\1/'>\1</a>", value)
在turtorial中,这段代码应该可行。我没有收到错误,但在我的应用中,它只显示了这一点:
<a href='/wikicamp/NewPage/'>NewPage</a>
而不是NewPage作为CamelCase&#39;字&#39;。 我可以用另一种方式做,或者我做错了什么?
答案 0 :(得分:0)
您需要将输出标记为&#34; safe&#34;用于呈现HTML。如果您信任可以提供给模板过滤器的任何输入,并且您知道它不是恶意的,那么您可以这样做:
from django.utils.safestring import mark_safe
@register.filter
def wikify(value):
output = wikilink.sub(r"<a href='/wikicamp/\1/'>\1</a>", value)
return mark_safe(output)