实验楼 python实现markdown解析器_用Python制作markdown编辑器

还记得在上篇提到的rest-framework,文档中提到了markdown也是可选应用。

那么这篇我们就来尝试使用markdown来制作一个在线的可以预览的editor。

安装 Python Markdown

pip install markdown

使用起来简单地就是两个函数:

markdown(text)

markdownFromFile(input, output)

markdown(text)会直接把text转换成html格式返回。

我们在应用中就用这个就行了。

首先,在views.py中添加视图:

...

from markdown import markdown

...

def mdeditor(request):

preview_html = ""

if request.method == 'POST':

md_content = request.POST['md_content']

print("md_content: {}".format(md_content))

preview_html = markdown(md_content)

context = {'preview_html':preview_html,}

return render(request, 'post/mdeditor.html', context)

将从post穿过来的md_content转换成html格式。然后传给post/mdeditor.html这个template返回给浏览器。

所以下一步就是建立一个这样的模板。

markdow editor

function getEditorContent(){

document.getElementById("md_content").value = document.getElementById("editor").innerHTML;

}

{% csrf_token %}

{{ preview_html | safe }}

我们使用

来做编辑器。那么要在表单中返回服务器,就需要将这个值付给一个input标签,就像上面代码做的一样。

从views.py传过来的preview_html默认会对一些字符进行转义,所以需要添加 | safe

打开浏览起就可以看到效果啦。我们这里使用了python markdown这个应用,可以看到相当的方便。

在上面的代码中,如果使用ajax将内容传回就更好了。但是如果javascript就有markdown的相应的应用就不用传回服务器了,所以如果真要自己使用那么还是找相应的js库方便。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值