【问题标题】:jinja2.exceptions.TemplateSyntaxError in flask烧瓶中的jinja2.exceptions.TemplateSyntaxError
【发布时间】:2020-08-10 00:21:44
【问题描述】:

我无法摆脱这个异常,也不知道出了什么问题。谢谢你的一切。

这是我的python文件

app = Flask(__name__)
@app.route("/login")
def login():
    return render_template("login.html")

这是我的 login.html


{% extends = "layout.html" %}


{% block title %}
    Login
{% endblock %}

{% block heading %}Login {% endblock %}

{% block body %}
<h1>Login</h1>
{% endblock %}

这是 layout.html

<!doctype html>
<html>
  <head>
    <title>{% block title %}{% endblock %} - My Webpage</title>

  </head>
  <body>
    <h1>{% block heading %} {% endblock %}</h1>
    {% block body %}
    {% endblock %}
  </body>
</html>

【问题讨论】:

  • 你不能这样嵌套块。
  • 我改了,所以我不嵌套它们,但还是不行,我会在这里编辑代码,让它看起来像我的。
  • 现在已编辑。但是还是不行
  • @OliverHnát 看到我的回答,如果有帮助请告诉我

标签: python html flask jinja2 template-inheritance


【解决方案1】:

根据 Jinja 文档,您不能将 equal to (=) 用于模板中的 {% extends %} 之类的语句.

您的 login.html 应该是这样的:

{% extends "layout.html" %}
{% block title %}
    Login
{% endblock %}
{% block heading %}Login {% endblock %}
{% block body %}
<h1>Login</h1>
{% endblock %}

更多信息Check this.

【讨论】:

    【解决方案2】:

    尝试{% extends "layout.html" %} 而不是{% extends = "layout.html" %}

    如果不行,你也可以尝试把所有的{% %}标签都取出来,一一添加回来。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-25
      相关资源
      最近更新 更多