建立博客时,在django后台admin写的是纯文本文字,如何以漂亮的排版展现在前端,此时我们可以借助markdown,步骤如下:
1、安装markdown
pip install markdown
2、改写view.py
在将内容通过render传递到前端时,对内容通过markdown包装下:
import markdown
from blog.models import Blog
class IndexView(View):
def get(self, request):
all_blog = Blog.objects.all().order_by('-create_time')
# 将博客内容用markdown显示出来
for blog in all_blog:
blog.content = markdown.markdown(blog.content,
extensions=[
'markdown.extensions.extra',
'markdown.extensions.codehilite',
'markdown.extensions.toc',
])
return render(request, 'index.html', {
'all_blog': all_blog,
})
当然,前提条件时,在编写博客时,需要按照markdown的语法进行书写,语法很好学,懒得话就直接在csdn上书写完后,粘过去就行了。
3、前端展示
添加个sage过滤器就行了。
{{ blog.content|safe }}