flask - 如何将 if 语句放在 jinja2 的宏中?
问题描述
我有以下宏,如果可能的话,我想在其中放置 if 语句。
{% macro input(name, plc, required=true, type='text', class='validate') -%}
<input name="{{ name }}" placeholder="{{ plc }}" type="{{ type }}" class="{{ class }}" value="{{ session.get(name) }}" { % if required %} required {% endif %}>
{%- endmacro %}
因此,它会引发以下错误:
jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'endif'. Jinja was looking for the following tags: 'endmacro'. The innermost block that needs to be closed is 'macro'.
解决方案
我猜是错字,里面有一个额外的 blanc 字符{ % if required %}
,应该是{% if required %}
推荐阅读
- c++ - 在标头中声明一个 Void 函数并在 main 中使用它
- java - Maven 从 Ecpise 中的工作区解析依赖关系
- javascript - react-pdf 意外令牌生产构建
- adsense - 是否可以将 Adsense 广告集成到使用 Docusaurus 开发的网站中?
- laravel - Laravel:基于会话的全局变量,可通过整个应用程序访问(包括测试和策略)
- java - 无法使用 jdbc 将 Java 连接到 MYSQL
- angular - Angular Spring Boot 和 aws cognito 集成
- c++ - C++ 类函数分组
- angular - 如何使用离子存储而不是 Promise 从角度服务中获得承诺的结果
作为回应 - environment-variables - NiFi 变量注册表可以即时更新吗?