我正在为TinyMCE构建一个自定义图像插入插件。我们的想法是,每篇文章都通过ArticleImage模型与图像集合建立了关系,该模型允许用户提供特定于文章的标题。然后,TinyMCE将插入一个自定义标记(类似<myapp:image image-id="9389" caption="Caption override">
),在编辑器中呈现为图像和标题的预览,并呈现为<figure><img src="images/9389.jpg" /><figcaption>Caption override (Photo: photographer)</figcaption></figure>
。这同样可以是<myapp:poll>
或<myapp:video>
。
我的问题是:在Django视图中将这个'虚拟标记'解析为渲染的HTML,最好的方法是什么(以及哪里是最好的地方?)
还是有另一种更好的方法吗?
答案 0 :(得分:1)
IMHO是渲染自定义标记的最佳位置,它通过templatefilter在模板中。
我冒昧地说,使用templatefilter呈现自定义标记是“djangoish”方式,因为这是django.contrib.markup的方式。
将自定义标记存储在模型中是一个好主意,因为这样您就可以更改模板过滤器实现,如果在存储之前处理自定义标记,则无法实现。