python - 获取 jinja2.exceptions.TemplateSyntaxError

标签 python flask jinja2

我对 flask 完全是个菜鸟。我刚刚开始使用 Flask 和 jinja 模板引擎。 请您好心回答我。 这是我的 html head 标签,

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    {% if {{content}} %}
    <title>WAJ - {{content}}</title>
    {% else %}
        <title>WAJ</title>
    {% endif %}
</head>

content变量是从flask传递过来的字符串, 但我收到此错误

 File "d:\python programs\Flask Project\templates\user.html", line 6, in template
    {% if {{content}} %}
jinja2.exceptions.TemplateSyntaxError: expected token ':', got '}'

我尝试重新阅读代码并检查可能出现的问题。但没有找到解决办法。请帮忙。 🙏

最佳答案

你的代码中的问题很简单。您不需要在 {% if %} block 内使用双花括号 {{ }}。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        {% if content %}
            <title>WAJ - {{ content }}</title>
        {% else %}
            <title>WAJ</title>
        {% endif %}
    </head>

只需将 {{content}} 替换为内容即可。 因为你是新手,我想给你一个很好的小建议,那就是......每当你遇到语法错误或类似的东西时,你应该查阅文档。这是每个程序员都应该养成的好习惯。 文档链接:

https://flask.palletsprojects.com/en/2.3.x/templating/

https://jinja.palletsprojects.com/en/3.1.x/

关于python - 获取 jinja2.exceptions.TemplateSyntaxError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77096821/

相关文章:

python - 渲染存储在 FTP 服务器上的 Jinja 模板

python按字符串匹配模式对列表项进行分组

Python 3 : self variable in init can't be changed?

javascript - 前端使用flask render_template制作highchart

Python Flask 在执行函数的同时返回一个 html 页面

python - Django 1.8 不使用 Jinja2 模板引擎

python - 计数输出

python - 使用 Elixir 执行 sql 查询

python - Flask-Appbuilder 根据用户更改默认登陆页面

javascript - Flask,在 Javascript 中提供静态文件和/或文件夹