datasette-render-html 作者 simonw

星标

README 源代码

datasette-render-html

PyPI Changelog Tests License

这个 Datasette 插件允许你配置 Datasette,使其在表格和行界面中将特定列渲染为 HTML。

这意味着你可以将 HTML 存储在这些列中,并在这些页面上将其按原样渲染。

如果你有一个名为 docs.db 的数据库,其中包含一个 glossary 表,并且你希望该表中的 definition 列被渲染为 HTML,你可以使用一个看起来像这样的 metadata.json 文件

{
    "databases": {
        "docs": {
            "tables": {
                "glossary": {
                    "plugins": {
                        "datasette-render-html": {
                            "columns": ["definition"]
                        }
                    }
                }
            }
        }
    }
}

安装

将此插件安装在与 Datasette 相同的环境中。

$ datasette install datasette-render-html

使用方法

安装插件后,使用上述 metadata.json 配置启动 Datasette

$ datasette -m metadata.json docs.db

安全性

此插件允许 HTML 按其在数据库中的存储方式完全渲染。因此,你应该确保只在内容受信任的列上使用此插件 - 否则你可能会面临 XSS 攻击的风险。

可以配置此插件以应用于整个数据库或整个 Datasette 实例中具有特定名称的列,但这样做是不安全的。这可能会让你面临 XSS 漏洞,攻击者可以编写一个 SQL 查询,导致某一列包含不安全的 HTML。

因此,你应该只在特定表格中的特定列上使用此插件,如上面的示例所示。