Appearance
简介
关于本文档 —— Askama
非官方不完全文档
- 本文档非官方文档,是由本人根据
Askama 官方文档
加上自己的理解编写而成的,不保证正确性。 - 本文档是在本人学习
Askama
过程中,发现缺少中文资料,甚至很多网上查找的资料中的内容是不正确的, 故此,我将自己学习Askama
的过程记录下来,以供参考。 - 因
Askama 官方框架
更新频繁,本人学习过程中的用法,在后续的过程中可能会有所改变,不保证本文档更新及时。 - 在学习、开发、使用过程中,如果您发现错误、改进或建议,不欢迎提交错误,不会有任何改进,同样也请保留您的宝贵建议。
一、Askama
是什么?
Askama
实现了一个基于Jinja
的模板渲染引擎。 它在编译时根据用户定义的模板生成 Rust 代码struct以保存模板的上下文。
二、功能亮点:
- 使用熟悉且易于使用的语法构建模板。
- 受益于
Rust
类型系统提供的安全性。 - 模板代码被编译到您的
crate
中以获得最佳性能。 - 对
Actix
、Axum
、Gotham
、Mendes
、Rocket
、tide
和warp Web
框架的可选内置支持。 - 调试功能可帮助您进行模板开发。
- 模板必须是有效的 UTF-8 并在渲染时生成 UTF-8。
- JetBrains 产品中提供 IDE 支持。
- 适用于稳定的 Rust。
三、模板中支持:
- 使用熟悉且易于使用的语法构建模板。
- 模板继承
- 循环、if/else 语句并包含支持
- 宏支持
- 变量(不允许可变)
- 一些内置过滤器,以及使用您自己的过滤器的能力
- 使用“-”标记抑制空格
- 选择退出 HTML 转义
- 语法定制