【发布时间】: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'
谁能告诉我我做错了什么?
【问题讨论】:
-
这里的代码太多了。请将模板缩减到最小以显示问题。
-
我已经把模板减到最少了
-
删减对你理解有帮助吗?
-
您能否添加完整的异常详细信息而不仅仅是消息
-
能否取出部分模板并渲染更小的模板,以找出模板的哪些部分很好,以及重现问题需要哪些部分?这将使您专注于可能包含问题的一小部分代码。