Url изображения в шаблоне django не работает в продакшене

Я пытаюсь показать изображения в отношениях один-ко-многим с моделью Post. Модель Post находится в отношениях "один-ко-многим" с моделью Category. Мой код работает с debug: True, но не работает в продакшене. Кто-нибудь может понять, почему?

settings.py:

import os

BASE_DIR = Path(__file__).resolve().parent.parent

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

DEBUG = False

models.py:

class BlogImage(models.Model):
    b_img = models.ImageField("Blog Image", null=True, blank=True, upload_to="img/b")
    postimg = models.ForeignKey('Post', on_delete=models.SET_NULL, null=True)

class Post(models.Model):
    ...
    category = models.ForeignKey('PortfolioCategory', on_delete=models.SET_NULL, blank=True, null=True)

class PortfolioCategory(models.Model):
    category_name = models.CharField(max_length=100, unique=True)

urls.py:

from django.conf.urls.static import static
...
urlpatterns = [...]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)


html:

{% for category in categories %}
 {% for post in category.post_set.all %}
  {% for img in post.blogimage_set.all %}

            <img src="{{ img.b_img.url }}" alt="">

  {% endfor %}
 {% endfor %}
{% endfor %}

Этот код возвращает ValueError: The 'b_img' attribute has no file associated with it.. Я теряюсь в догадках, пытаясь заставить это работать. Заранее спасибо всем, кто может помочь !

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