我是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)
答案 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