我在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