我需要使用Textile作为我的标记语言为我的django网站创建一个实时预览容器(如 stackoverflow 和 Reddit) 。
有没有办法在客户端做到这一点?(不使用ajax?)
从视图中解析代码很简单:
{% load markup %}
{{ theme.content|textile }}
(不用说,我遵循了文档并包含'django.contrib.markup'
在我的INSTALLED_APPS
设置中。)
为简单起见,假设我不需要 IE 支持。我的 JS 如下所示:
function change_preview() {
var fragment = document.createDocumentFragment();
// I am no sure what should I put here:
fragment.appendChild(document.createTextNode('{{ theme.content|textile }}'))
document.getElementById("preview").appendChild(fragment);
}
window.onload = function() {
var content_box = document.getElementById('id_content');
content_box.addEventListener("input", change_preview , false );
}
和 HTML:
<textarea id="id_content" rows="10" cols="40" name="content"></textarea>
<div id = "preview"></div>
我还发现了这个 JS 库。在客户端与服务器端的PyTextile一起使用它是一个好主意吗?
最佳实践是什么?
我正在寻找非 jQuery 解决方案,但如果没有其他方法,我会接受。
先感谢您。