支持 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