kuroの覚え書き

96の個人的覚え書き

Flaskでhtmlファイルを読み込むとき、ブラウザのキャッシュが読み込まれてしまうのを回避するには

インタラクティブに生成されたhtmlファイルをFlaskで表示させようとしたところブラウザがキャッシュファイルを読みに行ってしまって、作り変えた結果が表示されない。

data = dir + "/data_" + datetime.datetime.now().strftime('%y%m%d%H%M%S') + ".html"
output_file(data)

そこでとりあえずhtmlを書き換えたら、毎回違う名前で保存し直して、読み込む側もそれを指定して読み込むようにする。

@app.route('/clustalw/bokeh/')
def clustalw_bokeh_index():
	user = g.user.name
	target = "./user/" + user + "/clustalw/*.html"
	file = glob.glob(target)[0]
	if os.path.exists(file):
		return render_template(file)

こんな感じでタイムスタンプをファイル名に入れておき、ターゲットのファイル名を読み取ってそれをrender_templateで受け渡す。