我目前正在重写一个用python/flask构建的web应用程序,它使用flashes,如下所示:
{% with flashes = get_flashed_messages() %}
{% if flashes %}
<ul class=flashes>
{% for message in flashes %}
<li>{{ message }}
{% endfor %}
</ul>
{% endif %}
{% endwith %}我是Rust和Rocket的新手,我找不到任何关于如何在tera模板中处理flash cookie的文档。有没有办法做到这一点,或者我从错误的角度来处理这个问题?
目前,我已经将其重构为如下所示,但显然get_flashed_messages()部分无法工作。
{% set flashes = get_flashed_messages() %}
{% if flashes %}
<ul class=flashes>
{% for message in flashes %}
<li>{{ message }}
{% endfor %}
</ul>
{% endif %}发布于 2021-04-14 13:30:45
这是答案和来源。我的解决方案-> https://github.com/SergioBenitez/Rocket/issues/14#issuecomment-710698003的灵感
我的工作解决方案:
//some.html.tera file
...
{% if flash %}
<p>{{flash}}</p>
{% endif %}
...我使用Flash消息的函数
#[get("/signup")]
fn signup_page(flash: Option<FlashMessage>) -> Template {
let mut context: HashMap<&str, Option<String>> = HashMap::new();
context.insert("flash", flash.map(|msg| format!("{}! {}", msg.name(), msg.msg())));
Template::render("signup", &context)
}https://stackoverflow.com/questions/66116884
复制相似问题