我在 django 管理员中使用 WMD 编辑器。我编写了一个简单的解析器(主要是正则表达式),因此我可以在 markdown 中捕获特定标签并相应地插入 HTML。我的问题是我需要访问 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
中,并完成所有实际工作。
一切正常,但这似乎应该有更好的方法。我知道我可以绑定到自定义标签的降价并做到这一点更清洁,但我必须能够访问 django 对象,并且当我引用相关的内联对象时。据我所知,我没有办法做到这一点。
有没有更好的方法来组织这个?