我想用Github风格的Markdown替换我正在构建的Django博客中的标准Markdown实现。我想使用Misaka,我已经创建了自己的自定义模板标记。不幸的是,出了点问题。在
这是我的模板标记文件,它在blog/templatetags/gfm.py
中。__init__.py
文件位于同一文件夹中:
from django import template
from django.template.defaultfilters import stringfilter
import misaka as m
register = template.Library()
@register.filter(is_safe=True)
@stringfilter
def gfm(value):
rendered_text = m.html(value,
extensions=m.EXT_FENCED_CODE,
render_flags=m.HTML_ESCAPE)
return rendered_text
这是我的一个模板:
^{pr2}$输出的文本用双引号括起来返回,这就破坏了整个过程。否则,生成的标记看起来是正确的。在
我错在哪里了?我知道这不是数据库中的数据,就像我使用pdb在函数中获取value
和{pdb
打印:
u'A Python application:\r\n\r\n print "Hello world"'
下面是使用Misaka在Markdown中呈现的版本:
u'<p>A Python application:</p>\n\n<pre><code>print "Hello world"\n</code></pre>\n'
我对Django相当有经验,但我对自定义模板标记还不熟悉。在
使用autoescape标记。在
或者,您可以使用safe过滤器。在
^{pr2}$相关问题 更多 >
编程相关推荐