【发布时间】:2016-03-27 18:55:59
【问题描述】:
我正在尝试创建一个使用 django 作为博客管理器的两列 html 页面。帖子正文有一个TextField,转换为markdown并发送到html:
class Post(models.Model):
title = models.CharField(max_length=67, unique=True)
body = models.TextField()
body_md = models.TextField(editable=False, blank=True, null=True)
def save(self):
selft.body_md = markdown2.markdown(body, extras=['fenced-code-blocks'])
然后在模板正文中调用post:
{{ body_md|safe }}
这工作正常。但是,我试图将正文文本传递给一个 javascript 函数,该函数将文本分成两列,并在尊重某些边界的 html 页面中自动呈现。例如,两列中的文本可能有 300 像素的宽度和 800 像素的高度。
我面临的第一个问题是在使用 markdown 字段时无法使用 javascript 呈现文本。如果我使用:
<script type="text/javascript">
var html = "<div class='row'>" +
"<div class='content'> {{ body_md|safe }}</div>" +
"</div>";
document.write(html);
</script>
它不起作用。但是,如果我不使用像 {{ body_md|safe }} 这样的经过降价处理的文本,而是使用未处理的内容,比如标题 {{title}}。然后它会正确渲染。
欢迎任何帮助。
【问题讨论】:
标签: javascript python html django markdown