我在django管理员中使用WMD编辑器。我写了一个简单的解析器(主要是正则表达式),所以我可以在markdown中捕获特定的标签并相应地插入HTML。我的问题是我需要访问Django对象本身。降价解析代码应该放在Django应用程序中?
目前我重写Model.save()
,并呼吁Model.process_markdown()
def process_markdown(self):
p = re.compile("\[\[\s*(?P<tag>image):(?P<id>[\d,]+)\s*\]\]")
processed = p.sub(partial(render_markdown, self), self.body_markdown)
return markdown.markdown(processed)
然后将结果保存到Model.rendered
场在我的模型。如果您注意到我有一个render_markdown
函数被调用。这存储在我的应用程序中的一个名为util.py
的文件中,并执行所有实际工作。
一切正常,但这似乎应该有一个更好的方法。我知道我可以将自定义标签绑定到markdown,并做到这一点更清洁,但我必须能够访问django对象,并且我参考相关的内联对象。据我所知,我没有办法做到这一点。
有没有更好的方法来组织这个?
唯一的人员额是值得信赖的员工,所以幸运的是,我不必消毒到那个程度。谢谢你的帮助! – 2013-02-13 15:31:46