美文网首页
Django 前端Markdown渲染

Django 前端Markdown渲染

作者: AllenBigBear | 来源:发表于2019-04-15 23:20 被阅读0次

之前写了一篇关于用markdown编辑器发布文章的笔记,不过直到今天我想在文章中添加图片时候我才发现,前端根本没法渲染。
google之后才知道前端也需要进行渲染。

1:安装markdown包

pip install markdown

2:在views视图函数中引入markdown

我们需要在views视图函数中引入并设置,比如我显示文章具体内容的页面的views

def article_detail(request,article_id):
    article  = Article.objects.get(article_id=article_id)
    comments = Comment.objects.filter(article_id=article_id)
    article.increase_views()
    article.article_content = markdown.markdown(article.article_content,
                                                extensions=[
                                                    'markdown.extensions.extra',
                                                    'markdown.extensions.codehilite',
                                                    'markdown.extensions.toc',
                                                ])

    #判断用户是否已经为这篇文章点过赞了
    like_created = Likes.objects.filter(articlelikes__article_id=article_id,like_by=request.user.id).first()

    if request.method == "GET":
        commentform = CommentForm()
    elif request.method == "POST":
        commentform = CommentForm(request.POST)
        c = commentform.save(commit=False)
        c.article_id = article_id
        c.save()
        return redirect('team:article_detail',article_id=article_id)
    return render(request,'article_detail.html',locals())

将文章内容这个字段article_content进行markdown设置
就是这么简单

3:前端页面修改

最后一步是在前端页面对需要渲染的内容添加过滤器 safe,防止转义
<h3>{{article.article_content|safe}}</h3>

4:测试

效果图

这样就是完成了markdown的使用

参考文章:https://www.zmrenwu.com/courses/django-blog-tutorial/materials/10/

相关文章

网友评论

      本文标题:Django 前端Markdown渲染

      本文链接:https://www.haomeiwen.com/subject/osumwqtx.html