0
我想用幾個瓶子來提供幾個大部分是靜態但有時會更改的文件。現在它們位於static
目錄中,可以在/static/filename
上訪問,有時會生成新版本的文件並由flask應用程序寫入靜態目錄,但問題是它們不會在瀏覽器中自動更新除非我在瀏覽器中按下刷新按鈕。發送靜態文件,但有時會更改文件
我想用幾個瓶子來提供幾個大部分是靜態但有時會更改的文件。現在它們位於static
目錄中,可以在/static/filename
上訪問,有時會生成新版本的文件並由flask應用程序寫入靜態目錄,但問題是它們不會在瀏覽器中自動更新除非我在瀏覽器中按下刷新按鈕。發送靜態文件,但有時會更改文件
您可以爲您的靜態資源創建一個版本查詢字符串。
從June一個很好的例子:
def register_jinja(app):
...
if not hasattr(app, '_static_hash'):
app._static_hash = {}
def static_url(filename):
if app.testing:
return filename
if filename in app._static_hash:
return app._static_hash[filename]
with open(os.path.join(app.static_folder, filename), 'r') as f:
content = f.read()
hsh = hashlib.md5(content).hexdigest()
app.logger.info('Generate %s md5sum: %s' % (filename, hsh))
prefix = app.config.get('SITE_STATIC_PREFIX', '/static/')
value = '%s%s?v=%s' % (prefix, filename, hsh[:5])
app._static_hash[filename] = value
return value
@app.context_processor
def register_context():
return dict(
static_url=static_url,
...
)
在您神社模板然後用static_url("js/a.js")
代替url_for("static", filename="js/a.js")
。