URL's bestaan uit mappen en bestandsnamen. Alles wat voorafgaat aan een /
wordt beschouwd als een map. Alles na de laatste /
is de bestandsnaam. Uw probleem is dat u relatieve URL's gebruikt. Als je zegt
static/pics/gamma.png
uw browser doet een verzoek om dat bestand ten opzichte van de directory van de huidige pagina. In het geval van URL's zoals /
en /shop
, de map is /
. De browser vraagt om /static/pics/gamma.png
.
In het geval van URL's zoals /shop/item/1
, de map is /shop/item/
. Uw browser vraagt dan om /shop/item/static/pics/gamma.png
.
Aangezien uw URL's overeenkomen met de eerste, moet u ze opslaan als absolute URL's (met de leidende /
) zodat de browser het juiste verzoek doet.
Op een semi-gerelateerde opmerking, zou u url_for
. moeten gebruiken wanneer mogelijk.
url_for('static', filename='css/home.css')