处理markdown服务器端并在客户端使用python进行渲染

时间:2012-09-22 16:53:06

标签: python markdown wysiwym

我们在MD编辑器的帮助下以SO形式编写问题的方式。我想知道数据到达服务器的方式和方式,以及保存和呈现数据的方式。我正在键入的文本的生命周期。

我在这里输入文字,在降价时。它是如何提交给服务器的,我的意思是如何处理格式化,一旦它们被保存,它们如何呈现给客户端。你如何在python中这样做?什么是最佳做法。

1 个答案:

答案 0 :(得分:1)

您通常做的是将用户的Markdown输入存储为文本,并在必须显示时将其呈现为HTML。 (如果您急需性能,可以随时缓存) 当您需要修改它时,您再次修改Markdown输入,而不是HTML。

做降价 - >在python中进行HTML转换,您可以使用Markdown库。

你真的不应该把HTML转回Markdown(Markdown不像HTML那样格式化,所以你可能会失去一些格式化),但python库html2text碰巧输出有效Markdown - 您无法保证Markdown本身会转换为您的初始HTML!


尽管如此,请记住,在输出客户提交的数据时,您必须始终考虑cross-site scripting等安全风险。您可以在this Django ticket查看示例 您可以访问this security.stackexchange.com question了解更多详情。

实际上,Python Markdown库(以及其他)中缺乏安全性已在django.utils.markup being deprecated in Django 1.5中发挥作用。