askama_web
A compatibility add-on for askama to support many different web frameworks.
Example
E.g. if you are using axum, then add askama_web with
the feature "axum-0.8" to your Cargo.toml:
[]
= { = "0.0.1-pre.0", = ["axum-0.8"] }
Then just add #[derive(WebTemplate)] to your Askama templated struct or enum:
use Template;
use WebTemplate;
use Router;
use get;
async
let app = new.route;
By selecting the feature "axum-0.8", HelloTemplate will implement axum::response::IntoResponse.
The user will receive a "Status: 200", "Content-Type: text/html; charset=utf-8"
response with the rendered struct as body.
Feature flags / web framework selection
These web frameworks are currently implemented and can be selected with their respective feature flag:
"actix-web-4": actix-web in version4.x.y"axum-0.8": axum in version0.8.y"poem-3": poem in version3.x.y"rocket-0.5": rocket in version0.5.y"warp-0.3": warp in version0.3.y
As well as these logging / debugging facilities to print error message if a template could not be rendered:
"eprintln": using rust's built-ineprintln!()macro"log-0.4": using log as logging framework"tracing-0.1": using tracing as logging framework
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.