曦远 (DealiAxy)一份私人的文字刊物

StarBlog
返回文章列表折页手记阅读全文
Django

Django:为模板渲染加入Markdown支持

两种方法 Django 的django-markdown-deux模块 Python模块 markdown django-markdown-deux 首先需要安装: pip install django-markdown-deux 修改setting.py 把markdown-deux添加进去 INSTALLED_APPS = [ 'markdown-deux', ] 在模板里添加tags

曦远 (DealiAxy)约 5 分钟
目录3 个章节

两种方法

  • Django 的django-markdown-deux模块
  • Python模块 markdown

django-markdown-deux

首先需要安装:

pip install django-markdown-deux

修改setting.py 把markdown-deux添加进去

INSTALLED_APPS = [
    'markdown-deux',
]

在模板里添加tags 加载了markdown-deux-tags标签之后,在markdown内容加上过滤器就可以解析成html了。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Doc - {{ docname }}</title>
    <link href="/static/css/highlights/github.css"/>
</head>
<body>
{ % load markdown-deux-tags % }
{{ content | markdown }}
</body>
</html>

使用markdown模块渲染

首先安装

pip install markdown

在views.py里使用markdown渲染

import markdown

def doc(request, name):
    template = get_template('doc.html')
    docfile = get_template('doc/{}.md'.format(name))
    content = docfile.render()
    html = template.render({
        'docname': name,
        'content':
            markdown.markdown(content,
                              extensions=[
                                  'markdown.extensions.extra',
                                  'markdown.extensions.codehilite',
                                  'markdown.extensions.toc',
                              ])
    })
    return HttpResponse(html)

markdown模块会直接把markdown格式的文档渲染成html格式。 不过django的模板里会对html做转义,所以还需要修改一下模板。

修改doc.html 给content加上safe过滤器,表示不需要转义,直接显示原始内容。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Doc - {{ docname }}</title>
    <link href="/static/css/highlights/github.css"/>
</head>
<body>
{{ content | safe }}
</body>
</html>

_EOF_

Django:为模板渲染加入Markdown支持

本文作者:
程序设计实验室
版权声明:
本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

相关文章

Django项目引入NPM和gulp管理前端资源

前言 之前写了一篇《Asp-Net-Core开发笔记:使用NPM和gulp管理前端静态文件》,现在又来用Django开发项目了,之前我搞了一个Django的快速开发脚手架「DjangoStarter」,正好给升级一下~ 关于npm和gulp我就不多重复了,之前那篇文章都写了,直接上操作 安装依赖 安装依赖的操作跟上一篇文章是一样的,不过我这里直接提供package.json文件,复制到项目根目录里

2022-04-02 · Django · 约 1 分钟

一小时完成后台开发:DjangoRestFramework开发实践

DjangoRestFramework开发实践 在这之前我写过一篇关于Django与Drf快速开发实践的博客,Django快速开发实践:Drf框架和xadmin配置指北,粗略说了一下Drf配置和基本使用,不过里面只是涉及到最基本的CRUD,在正常的后端开发中涉及的诸如认证和权限、消息队列、缓存之类的操作,上一篇博客并没有涉及,这次开发我仔细了看了官方文档的这几个部分,把这部分的功能完善了起来。 D

2021-12-18 · Django · 约 1 分钟

讨论

共 0 条

良言一句三冬暖,恶语伤人六月寒。

加载评论中…