2

我正在为游戏开发人员创建一个 Django 网站以共享代码,这意味着我需要能够将格式正确的代码保存到数据库中,并且能够检索和显示它。

Django 中是否为此内置了任何东西,或者我需要使用第三方库吗?

我玩过一个 Django pagedown 小部件,它以 StackOverflow 的 markdown 编辑器为模型,但我遇到了一些麻烦,而且我不确定它是否会自行完成我想要的一切。

有没有人真正使用过 pagedown 小部件,实现了类似的功能,或者知道另一个可以工作的库?

4

1 回答 1

3

为了存储代码,您可以使用任何支持文本类型的数据库。也就是说,您将在模型中使用TextField

现在您需要决定如何显示/格式化原始文本。

这取决于您显示格式正确的代码的意思,但我会继续说您应该查看Pygments。它是一个语法高亮库,可以很容易地与 Django 一起使用。

Pygments 的工作原理是您指定一个词法分析器(阅读:语言),以便将样式应用于目标文本。空白将由您的数据库保留。与格式相关的所有其他内容都纯粹是主观的。您可能会在视图中指定固定宽度的字体、大小等,并将其传递给上下文,就像您传递任何其他 DB 支持的对象一样。

Django Rest Framework 的教程实际上与您所描述的和使用 Pygments 的内容非常相似,因此我建议您查看具体的使用示例。

对于专门格式化代码,我会避免像您列出的那种降价风格,因为代码可能包含在降价中具有特殊含义的字符,因此您需要转义文本,这违背了降价的目的。

于 2016-01-24T05:14:38.913 回答