模板渲染

概述

Silent框架支持多种模板引擎,让您能够轻松实现动态页面渲染。本指南将介绍如何在Silent框架中高效使用模板引擎。

基本用法

1. 配置模板引擎

use silent::prelude::*;
use silent::template::Template;

async fn create_app() -> Router {
    let app = Router::new();
    app.template("templates", "html")
}

2. 创建模板文件

<!-- templates/index.html -->
<!DOCTYPE html>
<html>
<head>
    <title>{{ title }}</title>
</head>
<body>
    <h1>{{ message }}</h1>
</body>
</html>

3. 渲染模板

高级特性

1. 模板继承

2. 局部模板

性能优化

  1. 模板缓存

    • 启用模板预编译

    • 使用模板缓存

    • 避免频繁重新加载

  2. 渲染优化

    • 减少模板嵌套层级

    • 避免复杂的模板逻辑

    • 使用局部更新策略

  3. 数据处理

    • 预处理模板数据

    • 使用视图模型

    • 避免在模板中处理复杂逻辑

最佳实践

  1. 目录结构

  2. 错误处理

  3. 国际化支持

调试技巧

  1. 开发模式

    • 启用模板自动重载

    • 显示详细错误信息

    • 使用调试工具

  2. 错误页面

```

安全考虑

  1. XSS防护

    • 自动转义HTML字符

    • 使用安全的过滤器

    • 验证用户输入

  2. CSRF保护

    • 添加CSRF令牌

    • 验证表单提交

    • 使用安全头部

参考示例

完整的示例代码可以在Silent框架的examples目录中找到:

  • examples/templates - 基本的模板渲染示例

  • examples/templates-advanced - 高级模板功能示例

常见问题解决

  1. 模板不存在

    • 检查模板路径配置

    • 验证文件权限

    • 确认文件名大小写

  2. 渲染错误

    • 检查语法错误

    • 验证变量存在

    • 确认数据类型

Last updated