如何使用Flask目录层次结构?

时间:2016-11-21 19:40:47

标签: python flask

文件index.html是静态的,因此将其传递给render_template()会很浪费。如果我store index.html under static/ 并使用app = Flask(__name__),一切都很好。

但如果我将static_url_path=''指向根目录并将index.html保留在与Python应用程序相同的文件夹中,我会

127.0.0.1 - - [21/Nov/2016 14:35:54] "GET / HTTP/1.1" 404 -

的index.html

<!DOCTYPE html>
<head></head>
<body>
    <h2>Hello, World!</h2>
</body>

的.py

from flask import Flask, current_app
app = Flask(__name__, static_url_path='')

@app.route('/')
def hello_world():
    return current_app.send_static_file('index.html')

if __name__=="__main__":
    app.run()

如何使用完全平面的目录层次结构,将上面的两个文件保存在同一目录中?

2 个答案:

答案 0 :(得分:0)

我认为您需要设置static_folder而不是status_url_folder并指定文件夹的绝对路径,而不仅仅是空字符串。

您可以使用print(app.static_folder)

查看默认的静态文件夹路径

答案 1 :(得分:0)

您可以使用flask.send_file()

import flask

app = flask.Flask(__name__)


@app.route('/')
def hello_world():
    return flask.send_file('index.html')

if __name__ == '__main__':
    app.run()