Use efficient method for nested template rendering

This commit is contained in:
Dirkjan Ochtman 2020-07-23 22:04:29 +02:00
parent b801724738
commit ecafb9b10a
2 changed files with 6 additions and 5 deletions

View File

@ -304,7 +304,7 @@ testing and reuse.
```rust
use askama::Template;
#[derive(Template)]
#[template(source = "Section 1: {{ s1.render().unwrap() }}", ext = "txt")]
#[template(source = "Section 1: {{ s1 }}", ext = "txt")]
struct RenderInPlace<'a> {
s1: SectionOne<'a>
}
@ -315,6 +315,7 @@ struct SectionOne<'a> {
a: &'a str,
b: &'a str,
}
let t = RenderInPlace { s1: SectionOne { a: "a", b: "b" } };
assert_eq!(t.render().unwrap(), "Section 1: A=a\nB=b")
```
@ -344,7 +345,7 @@ use askama::Template;
#[derive(Template)]
#[template(source = r#"
//! {% for item in children %}
{{ item.render().unwrap() }}
{{ item }}
{% endfor %}
"#, ext = "html", escape = "none")]
struct Item<'a> {

View File

@ -1,6 +1,6 @@
Section 1: {{ s1.render().unwrap() }}
Section 2: {{ s2.render().unwrap()|safe }}
Section 1: {{ s1 }}
Section 2: {{ s2|safe }}
Section 3 for:
{% for s in s3.as_slice() -%}
* {{ s.render().unwrap() }}
* {{ s }}
{% endfor %}