呈现静态文件时出现Flask内部服务器错误

时间:2018-07-17 23:14:00

标签: flask

我是Flask的新手,遇到一个问题:当我返回一条消息时,例如:

app_setup.py

@app.route("/")
def hello():
    return '''Hello World!'''

它工作正常。但是,当我尝试呈现静态html文件时,例如:

app_setup.py

@app.route("/")
def hello():
    return render_template('static/index.html')

它给了我一个内部服务器错误。我该如何解决?

N.B:我正在Docker中用uWSGI和Nginx运行Flask。

main.py

from flask import *

app = Flask(__name__)
app.config['TEMPLATES_AUTO_RELOAD'] = True

from .core import app_setup

if __name__ == "__main__":
    # Only for debugging while developing
    app.run(host='0.0.0.0', debug=True, port=80)

2 个答案:

答案 0 :(得分:0)

模板通常来自应用程序的templates/子目录,render_templates()是模板的子目录。 (当您使用蓝图时,事情会变得稍微复杂一些,但是请放心使用,因为您并没有这样做。)

创建一个templates目录,然后将index.html移动到该目录。然后

return render_template('index.html')

答案 1 :(得分:0)

默认情况下,StringBuilder builderWord = new StringBuilder(word); for(int index=0; index < builderWord.length(); index++) { for(int reverseIndex=builderWord.length()-1; reverseIndex > index;reverseIndex--) { if (builderWord.charAt(reverseIndex) == builderWord.charAt(index)) { builderWord.deleteCharAt(reverseIndex); } } } return builderWord.toString(); 会在应用程序的render_templates()子目录中查找您的静态模板文件。一个好的方法是创建一个模板目录,然后在其中移动静态/templates

尽管,如果您确实希望为模板静态文件设置新目录,则可以在初始化应用程序时尝试以下操作:

index.html