Неверный путь для моего приложения Django с изображением по умолчанию

Я делаю сайт музыкального стриминга на Django и хочу отображать плейлисты на главной странице. Все работает, кроме плейлистов, в которые я не загрузил изображение. Я установил изображение по умолчанию для плейлиста, но браузер не находит изображение по умолчанию из-за неправильного пути. Как я могу это исправить? (Возможно, это просто, но я новичок в Django...)

html:

{% for playlist in my_playlists %}
<a href="{% url 'music:playlist' playlist.playlist_id %}"><img src="{{ playlist.image.url}}" alt="playlist image"></a>
{% endfor %}

models.py:

class Playlist(models.Model):
playlist_id = models.AutoField(primary_key=True)
user = models.ForeignKey(User, on_delete=models.CASCADE)
playlist_name = models.CharField(max_length=50, default="name")
image = models.ImageField(upload_to="playlist_images/", validators=[FileExtensionValidator(allowed_extensions=['jpeg', 'jpg', 'png'])], default="images/music-placeholder.png")
plays = models.IntegerField(default=0)
songs = models.ManyToManyField(Song, related_name='playlist')
slug = models.SlugField()

views.py:

def homepage(request):
songs = Song.objects.all()
user = request.user
if user.is_authenticated:
    my_playlists = Playlist.objects.filter(user=user)
return render(request, 'homepage.html', {'songs': songs, 'my_playlists': my_playlists})

setting.py:

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

Я получил эту ошибку: Not Found: /media/media/images/music-placeholder.png но путь должен быть таким /media/images/music-placeholder.png:

image path

Включили ли вы медиа-урл в корневой url conf?

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # your other urls here
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Также убедитесь, что вы установили MEDIA_URL и MEDIA_ROOT в файле настроек.

Обычно что-то вроде этого:

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

Тогда, я думаю, вы сможете получить доступ к загруженным медиафайлам из шаблона с помощью <img src="media/image_path"/>

РЕДАКТИРОВАТЬ:

Если вы действительно пытаетесь показать static изображение, убедитесь, что STATIC_URL и STATIC_ROOT установлены в настройках и включены в url conf. Затем вы можете использовать тег статического шаблона для отображения:

{% load static %}
...
<img src="{% static '<path_to_file>.jpg' %}" alt="My image">
Вернуться на верх