Медиаизображение Django не отображается в шаблоне, но к нему можно получить доступ через .../media/thumbnail/image.png

Хотя контекст отображается в html, я могу использовать другие переменные, но не могу получить доступ к изображению. Мой код таков:

html:

    {% for a in Manga %}
        <div class="manga_container">
            <div class="manga_image">
                <p>{{a.manga_image}}</p>
                <img src="{{ x.manga_image.url }}" alt="">
            </div>
        </div>
    {%endfor%}

модель:

class Manga(models.Model):
    manga_name = models.CharField(max_length= 255, default="null")
    manga_image = models.ImageField(upload_to="thumbnail", default="thumbnail/noimage.png")

    def __str__(self):
        return f"{self.id}, {self.manga_name}"

и, наконец, просмотр:

def Index(request):
    manga = Manga.objects.all().values()
    chapter = Chapter.objects.all().values()
    fansub = Fansub.objects.all().values()

    context= {
        "Manga": manga,
        "Chapter": chapter,
        "Fansub": fansub,
    }

    template = loader.get_template("Index.html")

    return HttpResponse(template.render(context, request))

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

мои медиа и url следующие:

import os

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
urlpatterns = [
    ...
    ...
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Я поместил этот тег p, чтобы увидеть его url и, как вы можете видеть, он был в правильном месте, когда я перехожу к 127.0.0.1:8000/media/thumbnail/noimage.png я могу видеть его и он действительно появляется на моем экране. Я пробовал большинство способов, которые я мог придумать. Я хочу видеть изображение на моем html и я ничего не трогал, так что это изображение по умолчанию, как я его настроил.

Вместо manga = Manga.objects.all().values() используйте manga = Manga.objects.all()

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