URL terdiri dari direktori dan nama file. Apa pun yang mendahului /
dianggap sebagai direktori. Apa pun setelah /
terakhir adalah nama file. Masalah Anda adalah Anda menggunakan URL relatif. Saat Anda mengatakan
static/pics/gamma.png
browser Anda membuat permintaan untuk file itu relatif terhadap direktori halaman saat ini. Dalam kasus URL seperti /
dan /shop
, direktorinya adalah /
. Browser akan meminta /static/pics/gamma.png
.
Untuk URL seperti /shop/item/1
, direktorinya adalah /shop/item/
. Browser Anda kemudian akan meminta /shop/item/static/pics/gamma.png
.
Karena URL Anda cocok dengan yang pertama, Anda harus menyimpannya sebagai URL absolut (dengan /
) di depan ) sehingga browser akan membuat permintaan yang benar.
Pada catatan semi-terkait, Anda harus menggunakan url_for
bila memungkinkan.
url_for('static', filename='css/home.css')