支持 markdown

作者: 一块大番薯 | 来源:发表于2018-03-25 16:44 被阅读2次
    app/views.py
    import markdown
    post.body = markdown.markdown(post.body, extensions=[
            'markdown.extensions.toc',
            'markdown.extensions.codehilite',
            'markdown.extensions.extra',
        ])
    
    • markdown 方法:将 Markdown 文本转换为 HTML
    • extensions参数:对 Markdown 语法的拓展
      • extra:本身包含很多拓展,代码显示(```)与此有关
      • codehilite:语法高亮拓展
      • toc: 允许自动生成目录

    safe 过滤器

    Django 的安全机制,HTML 代码在 Django 的模板中都会被转义。
    (即显示原始的 HTML 代码,而不是经浏览器渲染后的格式)
    解除转义,需在模板标签使用 safe 过滤器,表示文本是安全的。
    即:{{ post.body|safe }

    语法高亮

    • 渲染文本时添加 markdown.extensions.codehilite 拓展
    • pip install Pygments
    • 引用样式:
      <link rel="stylesheet" href="{% static 'app/css/highlights/github.css' %}">

    相关文章

      网友评论

        本文标题:支持 markdown

        本文链接:https://www.haomeiwen.com/subject/nqtcrxtx.html