7.1 静态文件访问原理
Last updated
Last updated
Flask访问静态文件非常简单,只需要在项目根目录建立static文件夹。将静态资源文件放入static下即可。访问的时候访问http://ip:port/static/fileName
即可。
需要注意的是,这里的根目录并不是项目的根目录fisher,而是app目录。这是因为,我们在实例化Flask核心对象的时候,传入了__name__参数,这个 __name__指向的就是当前文件所在目录。
修改默认存储路径,只需要在实例化Flask核心对象的时候,传入static_folder这个关键字参数即可,但是这个时候,访问的路径应该变成http://ip:port/static_folder的最后一级/fileName
,如果想自定义url访问路径,传入关键字参数static_url_path即可
在Flask的app.py的Flask类的构造函数的地556行,是注册静态资源视图函数的源码,可以看到实际上就是通过我们之前所讲到的add_url_rule注册了一个视图函数。其中的访问url路径,就是获取了static_url_path
下面是static_url_path的定义,可以看到他是调用了_get_static_url_path方法。 这个方法首先获取static_url_path关键字参数,如果有,则直接将其作为url访问路径,否则获取static_folder关键字参数,如果有,则取他的基本路径拼拼接上"/"作为url访问路径