SQLPage v0.34.0 发布:HTML增强与表格优化
SQLPage 是一个创新的数据库驱动网页开发框架,它允许开发者直接使用SQL查询来构建动态网页内容。通过将SQL查询结果映射为UI组件,SQLPage极大地简化了数据驱动的Web应用开发流程。最新发布的v0.34.0版本带来了一系列实用功能和改进,特别在内容呈现和表格交互方面有显著提升。
安全增强:更可靠的删除操作与文件保护
本次更新在安全性方面做了两项重要改进。首先,列表组件的删除链接现在默认使用POST请求而非GET请求。这种改变遵循了REST最佳实践,有效防止了网络爬虫意外触发删除操作的风险。
开发者现在可以这样构建删除操作:
SELECT 'list' AS component;
SELECT '删除项目' AS title, 'delete_item.sql?id=77' AS delete_link;
其次,框架现在会自动保护以点号(.)开头的内部文件和目录,使其无法通过Web直接访问。这一特性特别适合用于存放那些通过sqlpage.run_sql()调用的内部脚本文件,为项目结构提供了更好的组织性和安全性。
表格组件全面升级
v0.34.0对表格组件进行了多项改进,显著提升了数据展示的灵活性和用户体验。
更灵活的列样式控制
新版采用了更直观的CSS类命名方案,现在可以通过._col_{列名}
的格式直接针对特定列应用样式:
._col_price {
background: #f8f9fa;
border-right: 2px solid #dee2e6;
}
这种改进使得表格样式定制更加直观和可维护。
粘性表尾功能
对于长表格数据,新版引入了粘性表尾(sticky footer)功能,确保汇总行在滚动时始终可见:
SELECT 'table' AS component, true AS freeze_footers;
SELECT '总计' AS label, SUM(price) AS value, true AS _sqlpage_footer;
通过在数据行中设置_sqlpage_footer
标记,开发者可以轻松指定哪些行应该固定在表格底部。
内容呈现增强
HTML与Markdown混合支持
文本组件现在支持通过unsafe_contents_md
参数混合使用HTML和Markdown:
SELECT 'text' AS component,
'<div class="alert alert-warning">
**重要提示!**
这是新的<em>HTML增强</em>内容。
</div>'
AS unsafe_contents_md;
这一特性为内容创作提供了更大的灵活性,同时保留了Markdown的简洁性。
内联Base64图像支持
Markdown内容现在可以直接嵌入Base64编码的图像数据,简化了小型图像的集成流程:

国际化与布局改进
从右到左(RTL)布局支持
针对阿拉伯语、希伯来语等从右向左书写的语言,shell组件新增了RTL支持参数:
SELECT 'shell' AS component, true AS rtl;
这一改进使得SQLPage能够更好地服务于全球不同地区的用户。
配置与兼容性
Markdown安全配置
新版增加了对Markdown渲染的安全控制选项,开发者可以通过配置灵活调整安全策略:
{
"markdown_allow_dangerous_html": false,
"markdown_allow_dangerous_protocol": false
}
数据库兼容性改进
特别修复了SQL Server中TINYINT类型处理的兼容性问题,提升了框架在不同数据库环境下的稳定性。
升级建议
对于现有项目升级到v0.34.0,开发者需要注意以下几点:
-
CSS更新:如果项目中有针对表格列的自定义样式,需要将
.your_column
类名更新为._col_your_column
的新格式。 -
删除操作验证:建议为所有删除操作添加POST方法检查,确保删除请求只能通过预期的交互方式触发。
SQLPage v0.34.0通过这一系列改进,进一步巩固了其作为数据库驱动Web开发首选框架的地位,特别是在数据展示和内容呈现方面提供了更强大、更灵活的工具集。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考