Flask jinja2.exceptions.TemplateSyntaxError

时间:2013-03-17 08:05:40

标签: python flask jinja2

我正在尝试在Flask中渲染模板,但我收到以下错误:

Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/flask/app.py", line 1701, in __call__
    return self.wsgi_app(environ, start_response)
  File "/Library/Python/2.7/site-packages/flask/app.py", line 1685, in wsgi_app
    with self.request_context(environ):
  File "/Library/Python/2.7/site-packages/flask/ctx.py", line 274, in __enter__
    self.push()
  File "/Library/Python/2.7/site-packages/flask/ctx.py", line 221, in push
    top.pop()
  File "/Library/Python/2.7/site-packages/flask/ctx.py", line 257, in pop
    self.app.do_teardown_request(exc)
  File "/Library/Python/2.7/site-packages/flask/app.py", line 1587, in do_teardown_request
    rv = func(exc)

不确定这意味着什么,但看起来这是一个框架问题。有谁知道我可以做些什么来解决/解决这个问题?

7 个答案:

答案 0 :(得分:5)

我认为线索是它正在抛出的异常...可能是模板中的语法错误。我会尝试取出所有{{ }}{% %}代码并逐个添加。

答案 1 :(得分:0)

检查所有右大括号。

可能%缺少一个%}分隔符。

答案 2 :(得分:0)

我遇到了此错误,结果是由%和}之间的空格错误引起的

%}代替%}

答案 3 :(得分:0)

我有同样的问题。只需确保完全{% is used with %},例如:

{% block something %}

or

 ... "{{ url_for(...,x=...) }}"

保留一些空间使其清晰可见

答案 4 :(得分:0)

我遇到了同样的问题,它是由链接标签引起的:

link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='style.css')}}">

它应该在哪里:

href="{{ url_for('static', filename='style.css')}}"

{{ url_for(...) }}

答案 5 :(得分:-1)

只需更改您的文件名(例如将home.html更改为xhome.html),然后再将其更改为渲染模板功能即可。

render template("home.html") #initial line
render template("xhome.html") #changed line

答案 6 :(得分:-1)

从 { % endfor % } 到 {% endfor %} 更正了代码。