Я использую редактор WMD в admin django. Я написал простой синтаксический анализатор (чаще всего в регулярном выражении), поэтому я могу уловить определенные теги в уценке и вставить 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
. Thats хранится в файле с именем util.py
в моем приложении и выполняет всю настоящую работу.
Все работает, но кажется, что должен быть лучший способ. Я знаю, что могу привязать к уценке для пользовательских тегов и сделать это чище, но мне нужно получить доступ к объекту django, и я, ссылаясь на связанные встроенные объекты. Насколько я могу судить, для меня нет способа сделать это.
Есть ли лучший способ организовать это?
Единственные люди, которые почта - доверенные сотрудники, так что, к счастью, мне не нужно санировать эту степень. Спасибо за вашу помощь! –