如何動(dòng)態(tài)配置靜態(tài)文件夾 static
問題
默認(rèn)的Flask項(xiàng)目文件結(jié)構(gòu)是這樣的:
/app.py
/static
/js
/css
/img
/templates
/index.html
然后瞧剖,你的前端訪問后臺(tái)靜態(tài)資源,是通過這個(gè)/static/file.nameurl
:
<link as=style href=/static/css/app.697eaad8.css rel=preload>
<img src="/static/img/mylogo.jpg" />
問題來了惕医,在有些前端應(yīng)用中,資源文件必須要使用根路徑/算色!
比如PWA的manifest
文件:
<link rel=manifest href=/manifest.json>
如何讓Flask訪問到這些根路徑的文件呢抬伺?
解決
配置一下static_url_path
、static_folder
就可以了剃允。
- static_url_path:
前端訪問資源文件的前綴目錄沛简。默認(rèn)是/static齐鲤,就是前端必須這樣訪問:<img src="/static/img/mylogo.jpg" />
我們改成 ''斥废,就可以這樣訪問了:<img src="/img/mylogo.jpg" />
。就達(dá)到前端從根目錄訪問的目的了给郊。 - static_folder:
后端存儲(chǔ)資源文件的目錄牡肉。默認(rèn)是/static
,就是指明你后端的資源文件淆九,是放在<your project>/static/
目錄下统锤,一般不需要改動(dòng)。
一個(gè)粟子:
from flask import Flask, render_template
app = Flask(__name__, static_url_path='')
@app.route('/')
def index():
return render_template('index.html')
轉(zhuǎn)自: http://www.reibang.com/p/5722fef5fa96