这个 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。
因此,你应该只在特定表格中的特定列上使用此插件,如上面的示例所示。