URL адресите са съставени от директории и имена на файлове. Всичко, което предхожда / се счита за директория. Всичко след крайния / е името на файла. Вашият проблем е, че използвате относителни URL адреси. Когато кажете
static/pics/gamma.png
вашият браузър прави заявка за този файл спрямо директорията на текущата страница. В случай на URL адреси като / и /shop , директорията е / . Браузърът ще поиска /static/pics/gamma.png .
В случай на URL адреси като /shop/item/1 , директорията е /shop/item/ . След това вашият браузър ще поиска /shop/item/static/pics/gamma.png .
Тъй като вашите URL адреси съвпадат с първия, трябва да ги съхранявате като абсолютни URL адреси (с водещ / ), така че браузърът да направи правилната заявка.
Наполовина свързана бележка, трябва да използвате url_for когато е възможно.
url_for('static', filename='css/home.css')