URLは、ディレクトリとファイル名で構成されています。 /
の前にあるもの ディレクトリと見なされます。最後の/
以降のすべて ファイル名です。問題は、相対URLを使用していることです。あなたが言うとき
static/pics/gamma.png
ブラウザは、現在のページのディレクトリを基準にしてそのファイルを要求します。 /
のようなURLの場合 および/shop
、ディレクトリは/
です 。ブラウザは/static/pics/gamma.png
を要求します 。
/shop/item/1
のようなURLの場合 、ディレクトリは/shop/item/
です。 。次に、ブラウザは/shop/item/static/pics/gamma.png
を要求します 。
URLは前者と一致するため、絶対URLとして(先頭に/
を付けて)保存する必要があります。 )ブラウザが正しいリクエストを行うようにします。
半ば関連するメモでは、url_for
を使用する必要があります いつでも可能なとき。
url_for('static', filename='css/home.css')