2016-01-24 274 views
2

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

Django中是否有为此构建的任何内容,还是我需要使用第三方库?

我玩过Django pagedown widget,它是在StackOverflow的降价编辑器之后建模的,但是我遇到了一些麻烦,如果这将完成我自己想要的任何事情,我并不积极。

有没有人实际使用过pagedown小部件,实现了类似于此功能的功能,还是知道可以工作的另一个库?

+1

是的,请查看[数据库]上的Django文档页面(https://docs.djangoproject.com/en/1.9/ref/databases/)。您需要安装和配置您要使用的任何数据库,然后您需要安装并使用“驱动程序”让Django与数据库进行交互。 – vesche

回答

2

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

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

这取决于你的意思是显示格式正确的代码,但我会继续前进,只是说你应该检查出Pygments。这是一个语法高亮库,可以很容易地使用w/Django。

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

Django Rest Framework's tutorial实际上使你的描述和使用Pygments非常相似,所以我建议检查一下具体的使用示例。

对于格式化代码的排他性,我会避免像列出的任何减价风格,因为代码可能包含在降价中有特殊含义的字符,因此您将需要转义文本,并且打败了降价的目的。