Почему страница администрирования Django и остальные CSS-файлы и изображения на моих страницах не найдены?

метод GET возвращает 404 в консоли, хотя поиск ведется по правильному пути к файлу.

EDIT: я нашел другой пост, в котором говорилось, что я должен включить DEBUG в файле settings.py. И ЭТО РАБОТАЛО!!! теперь, после попытки вернуть значение False, он все еще работал, как и ожидалось. так что второй вопрос - почему это не сработало с первой попытки?

Я убедился, что статические пути в файле settings.py верны, но, похоже, проблема в самом django, так как на странице администрирования django не отображается CSS. Я попробовал python manage.py collectstatic, но это не помогло. Я пробовал перезапускать сервер несколько раз и все равно

еще одна правка: я только что обнаружил, что некоторые страницы загружают свои изображения и CSS-файлы, пока отладка установлена на True. но страницы, которые я не загрузил, не загрузили свои. после установки DEBUG на True снова и загрузки страниц, все они теперь работают, пока DEBUG снова установлен на False. подумал, что это может помочь выяснить, почему не работает DEBUG, установленный на False

EDIT: я нашел другой пост, в котором говорилось, что я должен включить DEBUG в файле settings.py. И ЭТО РАБОТАЛО!!! теперь, после попытки вернуть его в False, он все еще работал, как и ожидалось. так что второй вопрос - почему он не работал с первой попытки?

It keeps working due to caching. If you clear the cache, with Ctrl + F5, it will again not work with the static files.

Я убедился, что статические пути в файле settings.py верны, но, похоже, проблема в самом django, так как на странице администрирования django не отображается CSS. Я попробовал python manage.py collectstatic, но это не помогло, я пробовал перезапускать сервер несколько раз и все равно.

collectstatic [Django-doc] does not solve this problem. collectstatic just copies the static/ directories of all apps to a general static directory specified by the STATIC_ROOT setting [Django-doc], but it does not serve the files.

Django не обслуживает статические файлы в продакшене, в этом нет особого смысла: это было бы неэффективно. Обычно вы позволяете Nginx, Apache или другому веб-серверу, который обрабатывает запросы первым.

Для Nginx это выглядит следующим образом:

server {
    listen 80;
    server_name server_domain_or_IP;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /parent/directory/of/static;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }
}

поэтому Nginx обслуживает файлы, а не Django.

Вернуться на верх