404 страница не найдена в django localhost при попытке щелкнуть по url изображения

Я создал объекты меню из стандартной админ-панели Django, в котором одним из полей является изображение. Я также успешно загрузил изображение. Но в ответе api, если я нажимаю на url изображения, он говорит 404 не найдено.

Ответ api выглядит следующим образом.

enter image description here

И image_url, и изображение не найдены 404.

enter image description here

Я добавил image_url, чтобы проверить, работает ли это, но это не сработало.

Моя модель:

class Menus(models.Model):
    category = models.CharField(max_length=50,choices=CATEGORY,default='main courses')
    food_name = models.CharField(max_length=100,blank=True, null=True)
    image = models.ImageField(blank=True,null=True)
    rating = models.FloatField(blank=True, null=True)
    description = RichTextField(blank=True, null=True)
    price = models.FloatField(blank=True, null=True)
My serializers:

class MenusSerializer(serializers.ModelSerializer):
    image_url = serializers.SerializerMethodField('get_image_url')    

    def get_image_url(self, obj):
        request = self.context.get('request')
        image_url = obj.image.url
        return request.build_absolute_uri(image_url)



    class Meta:
        model = Menus
        fields = ['category','image', 'image_url','food_name',
                  'description','price','rating']

Мои настройки:

# BASE_DIR = Path(__file__).resolve().parent.parent
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        # 'NAME': BASE_DIR / 'db.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}


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


STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
django_heroku.settings(locals())

Мой проект urls:py

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Я перепробовал много всего, вставляя только urlpatterns для media. Также я закомментировал media_root и определил по-новому, изменил имя базы данных и т.д. Но, похоже, ничего не работает. Это потому, что я установил heroku на этот проект? Но локальный должен показывать изображения

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