Django做一个简单的博客系统(4)----使用Markdown语法书写文章

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_42567323/article/details/102625719
前言

    [上一篇文章]https://blog.csdn.net/weixin_42567323/article/details/102622963)完成了文章详情页面,这篇文章就完成使用MarkDown语法书写文章.
    感谢大神的教程:Django搭建个人博客.

一.使用MarkDown

    MarkDown我们都不陌生,现在用的CSDN博客里面就是用的MarkDown语法来写的文章,那么我们自己做的博客里如何添加MarkDOwn呢?
    首先下载MarkDown:

pip install markdown

    下载好以后就开始使用.
    首先编写我们的视图函数:
article/views.py:

def article_detail(request,id):
    # 取出相应文章
    article = ArticlePost.objects.get(id=id)
    article.body = markdown.markdown(article.body,
                                     extensions=[
                                         # 包含 缩写、表格等常用扩展
                                         'markdown.extensions.extra',
                                         # 语法高亮扩展
                                         'markdown.extensions.codehilite',
                                     ])
    context = {'article':article}
    return render(request,'article/detail.html',context)

    在article_detail函数中加上markdown.
    然后修改templates/article/detail.html:

<div class="col-12">
                <p>{{ article.body|safe }}</p>
</div>

    加上safe是因为浏览器默认从外输入的字符串是不合法的,加上safe以后就变成了合法的,
    接下来去我们的后台管理的编辑文章中加入一段markdown格式的文本.然后运行项目:

在这里插入图片描述    文本中可以写入markdown文本了,但是代码不好看,也就是说没有高亮,接下来就把代码整的高亮一些.
    在static目录中新建一个目录md_css/,一会儿放置代码高亮的样式文件。
    安装Pygments:

pip install Pygments

    进入md_css目录,在终端输入:

pygmentize -S monokai -f html -a .codehilite > monokai.css

    回车后检查一下,在md_css目录中是否自动生成了一个叫monokai.css的文件,这是一个深色背景的高亮样式文件。
    然后在base.html中添加这个刚生成的css文件
base.html

<link rel="stylesheet" href="/static/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="/static/md_css/monokai.css">

    再次运行项目:
在这里插入图片描述

    可以看到,代码有高亮效果了.

写在最后

    本文是个人的一些学习笔记,如有侵权,请及时联系我进行删除,谢谢大家.

猜你喜欢

转载自blog.csdn.net/weixin_42567323/article/details/102625719