【问题标题】:Pass markdown from file to template in Django view在Django视图中将markdown从文件传递到模板
【发布时间】:2016-12-20 17:01:45
【问题描述】:

我正在尝试从我的 Django 视图中传递 *.md 文件的内容,以便使用 Showdown(下面的 JS 代码)进行渲染,但我得到:Uncaught SyntaxError: Invalid or unexpected token:

var converter = new showdown.Converter({
    'github_flavouring': true,
    'tables': true
});
var convert = function() {
    $('#preview').html(converter.makeHtml($('{{markdown}}')));
};
convert();

【问题讨论】:

    标签: javascript python html django showdown


    【解决方案1】:

    我通常更喜欢使用隐藏的 div 来包含我的降价数据:

    <div id="markdown" style="display:none;">
        {{markdown}}
    </div>
    

    那么你可以在你的JavaScript代码中引用这个如下:

    var converter = new showdown.Converter({
        'github_flavouring': true,
        'tables': true
    });
    var convert = function() {
        $('#preview').html(converter.makeHtml($('#markdown').text()));
    };
    convert();
    

    [Edit] 对于 ES6,您还可以尝试使用反引号 (`) 来封装您的 markdown 数据,这将使其成为多行字符串,但由于 markdown 使用反引号突出代码,这会导致问题(除非您'确定你的降价数据中永远不会有代码块)。

    【讨论】:

    • 附带说明,除非您的降价来自受信任的来源(或者即使是),请查看使用安全 HTML 或清理。
    • 注意!感谢您的意见!
    猜你喜欢
    • 2015-09-18
    • 2015-07-07
    • 2018-02-10
    • 2014-08-28
    • 2021-02-03
    • 2017-04-26
    • 2016-09-28
    • 2020-03-19
    • 2019-02-16
    相关资源
    最近更新 更多