概述
我一直致力于创建一个python markdown扩展,当使用自定义标记时,它将在我的django项目中插入一个图库.实际的扩展是有效的,但扩展返回的HTML都是编码的.这是我正在使用的扩展:
#!/usr/bin/env python
from django.template.loader import render_to_string
from main.models import *
import markdown
version = "0.1.0"
class GalleriaExtension(markdown.Extension):
def __init__(self,configs):
self.config = {
}
# Override defaults with user settings
for key,value in configs:
self.setConfig(key,value)
def add_inline(self,md,name,klass,re):
pattern = klass(re)
pattern.md = md
pattern.ext = self
md.inlinePatterns.add(name,pattern,"
figs=None) :
return GalleriaExtension(con
figs=con
figs)
我确保render_to_string实际上返回了未编码的html.从shell开始,这里有一个输出示例:
render_to_string的输出:
>>> from django.template.loader import render_to_string
>>> images = SuperPage.objects.get(id=8).superpageimage_set.all()
>>> render_to_string('galleria.html',{ 'images': images })
u'
以下是编码的markdown扩展的输出:
>>>markdown.markdown('test [gallery 8] test',['galleria'])
u'
使用降价扩展时,如何使渲染返回HTML标记而不是编码标记?此外,我将不胜感激任何关于编码的指针(语法,布局等).我很感激.
您可以在django代码中看到一些示例.例如在defaulttags.py
.
总结
以上是编程之家为你收集整理的在自定义Python Markdown扩展的输出中禁用HTML编码全部内容,希望文章能够帮你解决在自定义Python Markdown扩展的输出中禁用HTML编码所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧