【问题标题】:How do I save code snippets to a database?如何将代码片段保存到数据库?
【发布时间】:2016-04-30 13:03:24
【问题描述】:

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

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

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

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

【问题讨论】:

  • 是的,请查看Databases 上的 Django 文档页面。您需要安装和配置您要使用的任何数据库,然后您需要安装和使用“驱动程序”让 Django 与数据库交互。

标签: python django markdown pagedown


【解决方案1】:

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

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    • 2010-09-09
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 2015-05-04
    • 2014-03-03
    相关资源
    最近更新 更多