Django文本格式化,标记?Markdown?

0 投票
4 回答
1507 浏览
提问于 2025-04-17 15:02

我很想用Django来为自己创建一个小旅行博客。我选择Django而不是Wordpress有几个原因。首先,我想掌控所有细节,最终做出一个看起来不像Wordpress博客的东西;其次,我想为我去的每个地方都创建一个博客,而Wordpress并不直接支持这种需求。

问题是,当我在国外的时候,我希望能写博客时,至少能自动为我生成段落标签,并处理很多小的HTML格式问题,这些是Wordpress会帮你做的。我想知道像这样的常见工作流程是什么?我不想要像TinyMCE那样复杂的东西,但也希望能比每次都手动输入每个HTML标签要简单一些。

谢谢你的帮助。

4 个回答

0

我想到两种方法,第一种是在你的模板中某些部分关闭自动转义

第二种是使用 django.contrib.markup,这个工具提供了对 TextileMarkdownreStructured Text 的过滤器。使用这些,你需要分别安装 PyTextilePython-markdowndoc-utils

编辑

刚刚注意到 django.contrib.markup 在 Django 1.5 中已经不再推荐使用了,主要是因为与第三方库有关的安全问题。不过,如果你信任输入(也就是说,你信任所有用户),你可以从 Django 1.4 中复制 django.contrib.markup

0

如果你不想使用任何富文本编辑器,我个人推荐使用reStructuredText配合Sphinx:http://sphinx-doc.org/

这是一种非常完整的标记语言,扩展功能可以支持几乎所有的需求。整个Python的文档都是用reStructuredText写的,现在通过Sphinx生成的输出是HTML格式。

一个类似的项目示例是:http://tinkerer.me/

2

有很多选择可以考虑。Markdown(http://code.google.com/p/python-markdown2/)是一个很明显的选择。

不过你也可以看看https://github.com/syrusakbary/pyjade,它提供了一个更简单的结构。我觉得Markdown更宽容一些,使用起来也更简单。

撰写回答