django语法

ads

django学习笔记

继续之前的django学习,记录学习过程中遇到的痛点

1.安装markdown

使用pip install markdown安装markdown,这样可以将markdown格式的文章内容转换成html格式

import markdown

# 博客详情页
def article_detail(request, id):
    # 根据id取出博客
    article = ArticlePost.objects.get(id=id)

    # 将markdown语法渲染成html格式
    article.body = markdown.markdown(
        article.body,
        extensions=[
            # 包含 缩写、表格等常用扩展
            'markdown.extensions.extra',
            # 语法高亮扩展
            'markdown.extensions.codehilite',
        ]
    )
    context = {'article': article}
    return render(request, 'article/detail.html', context=context)

2. 在详情页中修改

在article/detail.html中修改详情页内容,需要加上一个safe过滤器

<p>{{ article.body|safe }}</p>

3.安装pygments

这个用于代码高亮,首先需要pip install pygments安装,Pygments是一种通用语法高亮显示器,可以帮助我们自动生成美化代码块的样式文件。在my_blog文件目录的static文件夹下新建md_css文件夹,在cmd中cd到md_css文件夹,然后使用pygments安装需要的css文件:

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

需要注意的是,生成命令中的 -a 参数需要与真实页面中的 CSS Selector 相对应,即.codehilite这个字段在有些版本中应写为.highlight。(具体可以查看源代码中代码块对应div的class)如果后面的代码高亮无效,很可能是这里出了问题。

4.引入monokai.css文件

最后还需要在templates/base.html中引入monokai,方法跟引入bootstrap.css相同。
最后出来的效果如下所示:


最后编辑于:2024/1/8 拔丝英语网

admin-avatar

英语作文代写、国外视频下载

高质量学习资料分享

admin@buzzrecipe.com