【问题标题】:HTTP 500 error when rendering template in flask在烧瓶中渲染模板时出现 HTTP 500 错误
【发布时间】:2018-02-12 17:53:49
【问题描述】:

这不是重复的问题。我已经用类似问题中的答案更新了烧瓶代码,但它仍然无法正常工作。我对烧瓶、html 和 python 很陌生,所以我真的需要帮助。我可能在某处看到了我的答案,但没有认出来。

下面的代码不会呈现 index.html 模板。相反,我收到一个 HTTP 500 错误(jinja2.exceptions.TemplateSyntaxError: expected token ',', got 'string')。我认为问题出在 .html 文件中,因为当我在不更改 app.py 代码的情况下渲染其他 index.html 模板时,会渲染 html 模板。

这是 app.py 中的代码

from flask import Flask, render_template, request, session, abort

app = Flask(__name__)
app.static_folder = 'static'


@app.route('/', methods=['GET'])
def test():
    resp = make_response(render_template('index.html'))
    return resp


@app.route('/getTenants', methods=['GET'])
def dummy():
    data = ['Black', 'Blue', 'White', 'Pink']
    return jsonify(results=data)


if __name__ == "__main__":
    app.run(debug=True)

这是 index.html 中的代码

<!DOCTYPE html>
<html lang="en" ng-app="app">

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' />
    <link rel="shortcut icon" href="{{ url_for('static', filename='img/favicon.ico') }}">

    <title>Create Contract</title>

    <!--  CSS    -->
    <link href="{{ url_for('static', filename= 'css/common.min.css') }}" rel="stylesheet" />
    <link href="{{ url_for('static', filename= 'css/simple-line-icons.css') }}" rel="stylesheet" />
    <link href="{{ url_for('static', filename= 'css/style.css') }}" rel="stylesheet" />

<head>

<body>
<!-- Spinner -->
<div class="spinner global" ng-class="{'showing' : loading }"><div class="spinner-icon"></div></div>

<!-- Main View -->
<div ui-view></div>

<!-- Awesome Angular -->
<script src="{{ url_for('static', filename='js/libs/angular.min.js') }}"></script>

<!-- AngularJS plugins -->
<script src="{{ url_for('static', filename='js/libs/ui-bootstrap.min.js') }}"></script>
<script src="{{ url_for('static', filename='js/libs/angular-ui-router.min.js') }}"></script>
<script src="{{ url_for('static', filename='js/libs/ocLazyLoad.min.js') }}"></script>
<script src="{{ url_for('static', filename=js/libs/loading-bar.min.js') }}"></script>

<!-- App scripts -->
<script src="{{ url_for('static', filename='js/app.js') }}"></script>
<script src="{{ url_for('static', filename='js/routes.js') }}"></script>
<script src="{{ url_for('static', filename='js/services.js') }}"></script>
<script src="{{ url_for('static', filename='js/controllers.js') }}"></script>
<script src="{{ url_for('static', filename='js/directives.js') }}"></script>
</body>

</html>

回溯错误是 jinja2.exceptions.TemplateSyntaxError: expected token ',', got 'string'

谁能告诉我我做错了什么?

【问题讨论】:

  • 这里的代码太多了。请将模板缩减到最小以显示问题。
  • 我已经把模板减到最少了
  • 删减对你理解有帮助吗?
  • 您能否添加完整的异常详细信息而不仅仅是消息
  • 能否取出部分模板并渲染更小的模板,以找出模板的哪些部分很好,以及重现问题需要哪些部分?这将使您专注于可能包含问题的一小部分代码。

标签: python html flask jinja2


【解决方案1】:

代码中的第 33 行 index.htmlsn-p:

紧跟filename属性粘贴'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-25
    • 2017-09-05
    • 1970-01-01
    • 1970-01-01
    • 2021-04-02
    • 1970-01-01
    • 2021-08-11
    • 2019-09-20
    相关资源
    最近更新 更多