flask中的static_path和static_path_url和static_folder

  • static_folder表示静态文件所在路径,默认为root_dir下的static文件夹
  • static_url_path的行为比较复杂
    • 如果static_folder未被指定(也就是默认值static),那么static_url_path取为static
    • 如果static_folder被指定了,那么static_url_path等于static_folder的最后一级文件夹名称。
    • 手动指定static_url_path时,如果static_url_path不为空串,url的路径必须以/开头,如/static。
    • 手动指定static_url_path时,如果static_url_path为空串,url路径不必以/开头,否则相当于static_url_path=None的情况,也就是使用static_folder的目录名字。
  • static_path即将废弃,推荐使用static_path_url

localhost:5000/why/main.py

import flask

app = flask.Flask(__name__, static_folder="./", static_url_path="why")
app.run(debug=True)

localhost:5000/main.py

import os

import flask

app = flask.Flask(__name__, static_folder=os.path.abspath("./"), static_url_path="")
app.run(debug=True)
原文地址:https://www.cnblogs.com/weiyinfu/p/11066265.html