在django模板中使用markdown

环境是python3,django1.6
为实现在django的后台用markdown语法写好blog,然后用自定义的django的过滤标签实现markdown语法的转义.
mytag.py的内容为:
importmarkdown
@register.filter(name='my_markdown')
defmy_markdown(value):
returnmarkdown.markdown(value)#返回的是字符串格式的HTML,如'

hi

'
在模板中使用这个过滤器tag:
{{article.body|my_markdown}}
但是输出却成了这样:
'

hello,world

'
而我想要的是:
hello,world//这是一个1级标题
为什么?怎么实现这个功能呢?谢谢各位.
(问题好像出在定义过滤标签时返回的是一个字符串的值,模板直接拿来用了)
炎炎设计
浏览 474回答 2
2回答

慕哥6287543

这样试一下,应该更方便fromdjango.utils.safestringimportmark_safe#...defmy_markdown()returnmark_safe(markdown.markdown(value))

largeQ

markdown部分应该是没有问题的markdown默认没有开启安全模式可能是在引用的时候的问题在模板里面试试{{value|safe}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript