main.py
文件中的代码:from flask import Flask, render_template, send_from_directory
app = Flask(__name__, static_url_path="")
app._static_folder = "static"
@app.route("/")
def root():
return app.send_static_file("index.html")
@app.route("/about")
def about():
return app.send_static_file("about/index.html")
@app.route("/projects")
def projects():
return app.send_static_file("projects/index.html")
#snip
if __name__ == "__main__":
app.run(host="0.0.0.0")
当我转到根目录或/about
目录时,它工作正常,但当我尝试转到/projects
目录时,我收到错误:
未找到
在服务器上找不到请求的URL。如果您手动输入了URL,请检查拼写,然后重试。
答案 0 :(得分:1)
有两个可能的原因。
projects
(即project
)或index.html
中输入了拼写错误?render_template
不同,如果路径不存在,app.send_static_file
就会死亡。由于static_folder
为static
,因此项目页面代码应存在于static/projects/index.html
下(而不是projects/index.html
)。要测试它是否是一个流氓问题,请用return 'some string'
替换项目视图的主体。如果那个字符串没有显示,那么你手上就有一只不同的野兽。如果确实如此,那么它绝对是我上面提到的两个错误中的一个。
在不相关的说明中,我会将debug=True
添加到app.run(...)
kwargs列表中,以使开发更方便。 (只要有文件保存,应用程序就会刷新)