1. 程式人生 > >Flask顯示圖片並設定圖片的快取時間

Flask顯示圖片並設定圖片的快取時間

1.顯示圖片

想要Flask在網頁中顯示圖片,需要使用template 模板,例如
index.py

from flask import Flask, render_template, url_for
app = Flask(__name__)
@app.route('/', methods=['GET'])
def hello_world():
    return render_template('index.html')
if __name__ == '__main__':
    app.run(host='0.0.0.0', port=4000, debug=True)

index.html:

<html><head></head><body>
<img src="{{url_for('static', filename='xxx.jpg')}}" alt="圖片" />
 </body></html>

圖片需要放在static目錄下,目錄樹如下:
tree

2.設定快取時間

Flask的css,js,jpg等檔案的預設快取時間設定是12小時,所以經常圖片更新了,但重新整理網頁後還是同一張圖片,解決方案如下:

from datetime import timedelta
app = Flask(
__name__) app.config['SEND_FILE_MAX_AGE_DEFAULT'] = timedelta(seconds=60) # 設定圖片的快取時間為1分鐘

具體的快取時間可以視情況設定。

參考資料:
Flask上傳本地圖片並在頁面上顯示
Flask 靜態檔案快取問題