Django企业开发实战-blog项目(10)

本文介绍了一个Django企业开发实战中的博客项目,涵盖了Markdown第三方库的使用,如mistune,实现了评论内容支持,文章正文的Markdown解析,并配置了代码高亮显示。在评论功能中,数据在保存前进行Markdown转换,而在文章详情页,原始Markdown内容被存储,以方便后续修改。同时,通过更新models.py和相关模板文件,实现了代码段的高亮显示。
摘要由CSDN通过智能技术生成

github链接 https://github.com/yt-xy/Django-blog

之前代码运行时有点错误,已修改后上传github

Markdown第三方库

(Markdown的处理主要依赖于Python第三方库。相关库有很多,这里我们选择mistune这个库,其他库用起来类似)
先安装pip install mistune

评论内容支持

用户提交评论到评论展示的流程如下:

用户填写评论,提交表单 -> CommentForm 处理表单 -> 验证通过 -> 保存数据到 instance -> instance.save 方法把数据保存到数据库 -> 用户刷新页面 -> 通过comment_block 模板自定义标签获取并展示数据

从这个流程中看,发现几个可以用来对内容的格式进行处理的点:
·在form层保存数据之前,我们对数据进行转换,让保存到数据库中的数据(content)是Markdown处理之后的
·给Comment模型新增属性content_markdown,这个属性的作用是将原content内容进行Markdown处理,然后在模板中不使用comment.content而使用comment.content_markdoen
因为博客中读大于写,所以在写数据时进行转换是比较好的。
comment/forms.py

import mistune
class CommentForm(forms.ModelForm):
	...
    def clean_content(self):
    content = self.cleaned_data
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值