You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask模板遇TemplateSyntaxError:期望':',实际得到'}',求解决

Flask模板权限控制的语法错误修复

你的代码报错是因为Jinja2模板语法使用错误,核心问题有两个:

  • Jinja2控制语句(如{% if %})内部不需要用{{ }}包裹变量,直接写变量名即可
  • 判断相等需用双等号==,单等号=是赋值操作,不符合条件判断逻辑

正确的代码写法如下:

{% if role == 1 %}
    <div id="cabecera">
        <header class="py-3 mb-4 border-bottom">
            <div class="container d-flex flex-wrap justify-content-center">
                <a href="/home" class="d-flex align-items-center mb-3 mb-lg-0 me-lg-auto text-dark text-decoration-none">
                    <!-- 此处填充你的内容 -->
                </a>
            </div>
        </header>
    </div>
{% else %}
    <!-- 此处放置role不为1时显示的内容 -->
    <div id="alternative-cabecera">
        <!-- 其他内容结构 -->
    </div>
{% endif %}

说明:

  • 直接在{% if %}中用role == 1做条件判断,无需额外模板变量标记
  • 用{% else %}处理role不为1的分支,最后必须用{% endif %}闭合if块,这是Jinja2控制语句的标准规范

内容的提问来源于stack exchange,提问作者juanjo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 21:10:45