URL:er består av kataloger och filnamn. Allt som föregår en / anses vara en katalog. Allt efter den sista / är filnamnet. Ditt problem är att du använder relativa webbadresser. När du säger
static/pics/gamma.png
din webbläsare gör en begäran om den filen i förhållande till den aktuella sidans katalog. I fallet med webbadresser som / och /shop , katalogen är / . Webbläsaren kommer att begära /static/pics/gamma.png .
När det gäller webbadresser som /shop/item/1 , katalogen är /shop/item/ . Din webbläsare kommer då att begära /shop/item/static/pics/gamma.png .
Eftersom dina webbadresser matchar de förra bör du lagra dem som absoluta webbadresser (med inledande / ) så att webbläsaren gör rätt begäran.
På en halvrelaterad anteckning bör du använda url_for när det är möjligt.
url_for('static', filename='css/home.css')