Почему Джанго не подгружает картинку в CSS и браузер выдает ошибку 404?
В моем Джанго-проекте столкнулся с проблемой: картинка из стиля CSS не подгружается и браузер выдает ошибку 404. Делаю все по документации. В папке settings прописываю путь для собрания файлов из папки static:
<code>STATIC_URL = "/static/" STATICFILES_DIRS = [BASE_DIR / 'main' / 'static']</code> |
<code>STATIC_URL = "/static/" STATICFILES_DIRS = [BASE_DIR / 'main' / 'static']</code>
Скриншот фрагмента кода удалён модератором.
Добавляю в url urlpatterns:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) if settings.DEBUG: urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) |
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) if settings.DEBUG: urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
Скриншот фрагмента кода удалён модератором.
Далее в папке static создаю папку images, куда добавляю фото 000.jpg. Честно говоря, делаю это просто вручную. То есть открываю папку проекта на диске и добавляю прямо в него, то есть не в среде PyCharm, в которой работаю, а просто через папку проекта на диске. Но почему-то само название фото становится красным, как будто что-то не так. Может быть тут ошибка? И надо как-то по-другом грузить фото?
Далее создаю стиль .contact-container в css, который сам лежит в папке css в папке static. Это видно на верхнем скриншоте.
.contact-container { background-image: url('static/images/000.jpg'); background-attachment: fixed; background-size: cover; } |
.contact-container { background-image: url('static/images/000.jpg'); background-attachment: fixed; background-size: cover; }
Когда запускаю сервер и открываю браузер фон не появляется, а веб-инсспектор показывает ошибку 404. Почему-то в веб-инспекторе имя файла значится как aaa.jpg, хотя это старое его название. Я пересаливал фото, менял названия, клал его в разные папки, но в инспекторе всегда это старое название, а новых фото он вообще не находит, хотя в пути в стиле contact-container именно они прописаны, а не aaa.jpg.
Дополнительно:
Название файла становится красным, так как он не добавлен в git.
git add уберёт красный цвет, но это на проблему не повлияет.
См.п.3.1 Регламента.
Ответы:
В css прописан файл 000.jpg, а на скриншоте aaa.jpg.
Попробуйте добавить слеш в начале пути в css
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос


Проблема, с которой вы столкнулись, может быть вызвана несколькими возможными причинами. Вот несколько шагов, которые вы можете предпринять, чтобы решить эту проблему:
1. Проверьте путь к изображению в вашем CSS файле. Убедитесь, что путь указан правильно и что изображение действительно находится по этому пути.
2. Убедитесь, что сервер настроен правильно для обслуживания статических файлов, включая изображения. Проверьте конфигурацию вашего сервера и убедитесь, что путь к изображению разрешен для доступа.
3. Проверьте разрешения файлов на сервере. Убедитесь, что файл изображения имеет правильные разрешения доступа для того, чтобы быть доступным через веб-браузер.
4. Попробуйте использовать относительные пути к изображению в CSS файле. Вместо полного пути к изображению, попробуйте указать путь относительно расположения CSS файла.
5. Убедитесь, что вы используете правильное расширение файла изображения. Например, если ваше изображение - файл PNG, убедитесь, что вы указали его расширение в CSS файле.
Вот пример того, как вы можете вставить изображение в CSS с использованием тега
: <pre lang="php"> .background { background-image: url('path/to/your/image.jpg'); background-size: cover; }
Примените эти шаги к вашей проблеме, и, скорее всего, вы сможете решить проблему с загрузкой изображения в CSS. Если проблема остается, попробуйте провести дополнительные исследования или обратитесь к специалисту по веб-разработке для дальнейшей помощи.