玩蛇网提供最新Python编程技术信息以及Python资源下载!

Django1.6模板markdown过滤标题应用问题

环境是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

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19558.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月24日 - 14时43分42秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules