Adresy URL se skládají z adresářů a názvů souborů. Cokoli, co předchází / je považován za adresář. Cokoli za koncovým / je název souboru. Váš problém je, že používáte relativní adresy URL. Když říkáte
static/pics/gamma.png
váš prohlížeč zadá požadavek na tento soubor vzhledem k adresáři aktuální stránky. V případě adres URL jako / a /shop , adresář je / . Prohlížeč si vyžádá /static/pics/gamma.png .
V případě adres URL jako /shop/item/1 , adresář je /shop/item/ . Váš prohlížeč si poté vyžádá /shop/item/static/pics/gamma.png .
Protože vaše adresy URL odpovídají prvnímu, měli byste je uložit jako absolutní adresy URL (s počátečním / ), aby prohlížeč provedl správný požadavek.
Na druhou stranu byste měli používat url_for kdykoli je to možné.
url_for('static', filename='css/home.css')