Django1.6模板markdown过滤标题应用问题,django1.6markdown,环境是python3,


环境是python3, django1.6

为实现在django的后台用markdown语法写好blog, 然后用自定义的django的过滤标签实现markdown语法的转义.

mytag.py 的内容为:

import markdown@register.filter(name='my_markdown')def my_markdown(value):    return markdown.markdown(value)       #返回的是字符串格式的HTML, 如'<p>hi</p>'

在模板中使用这个过滤器tag:

 <div class="article">{{ article.body|my_markdown }}</div>

但是输出却成了这样:

'<h1>hello, world </h1>'

而我想要的是:

hello, world      // 这是一个1级标题

为什么? 怎么实现这个功能呢? 谢谢各位.
(问题好像出在定义过滤标签时返回的是一个字符串的值, 模板直接拿来用了)

markdown部分应该是没有问题的 markdown默认没有开启安全模式
可能是在引用的时候的问题
在模板里面试试
{{ value|safe }}

这样试一下, 应该更方便

from django.utils.safestring import mark_safe# ...def my_markdown()    return mark_safe(markdown.markdown(value))

现在不是不支持markdown了吗?需要用pip install django-markdown-deux

参见:http://www.oldrss.com/article/tech0001.html

编橙之家文章,

评论关闭