我们说我有一个名为test.html的文件,我希望它在我的Flask服务器上加载时返回,但我不想为我的每个文件写这个:
@app.route("/test.html")
def atestfile(name=None):
return open("/home/pi/test/test.html", "r").read()
所以我认为这样的事情会奏效:
from flask import Flask
app = Flask(__name__)
@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
def catchall(path):
home = "/home/pi/test/"
url = home + str(path)
page = open(url, "r").read()
return page
if __name__ == "__main__":
app.run('0.0.0.0')
我知道def catchall(path):
部分可以缩短为一行但我想保持简单以发现任何错误。我在网页上找到了500 Internal Server Error
,并没有解释为什么我的服务器终端(Raspbian)。
那我怎么能这样做呢?