Django не обслуживает мой актив изображения, используя фреймворк rest

Я загружаю файл изображения из Flutter в Django, изображение правильно сохраняется в директории backends в assets/images, и когда я запрашиваю базу данных с помощью get, я получаю правильный путь к файлу. Но когда я перехожу по URL в браузере, изображение не появляется и я получаю ошибку. Я использую rest-framework для своего приложения.

Модель:

class Product(models.Model):
    supplier = models.ForeignKey(Supplier, on_delete=models.CASCADE)
    name = models.CharField(max_length=200)
    quantity = models.IntegerField(default=0)
    barcode = models.CharField(max_length=200)
    cost_price = models.FloatField(default=0)
    selling_price = models.FloatField(default=0.0)
    image = models.ImageField(upload_to='images/', null=True)

Settings.py:

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

Urls.py:

urlpatterns = [
    path('', include(router.urls)),
]

urlpatterns += staticfiles_urlpatterns()
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Serializer:

class SuppliersSerializer(serializers.ModelSerializer):
    product_set = ProductsSerializer(read_only=True, many=True)
    class Meta:
        model = Supplier
        fields = ['pk','user','name','email','phone','product_set']

class ProductsSerializer(serializers.ModelSerializer):
    transactions_set = TransactionsSerializer(read_only=True, many=True)
    class Meta:
        model = Product
        fields = ['pk','name','quantity','barcode','cost_price','image', 'selling_price', 'transactions_set']

JSON ответ:

{
                    "pk": 13,
                    "name": "pi3",
                    "quantity": 3,
                    "barcode": "11111",
                    "cost_price": 10.0,
                    "image": "/pm/assets/images/533a6ac0-f682-4814-9237-89df8e02fda715039130977982609.jpg",
                    "selling_price": 20.0,
                    "transactions_set": []
                },

But when visiting: http://localhost:8000/pm/assets/images/533a6ac0-f682-4814-9237-89df8e02fda715039130977982609.jpg

Я получаю эту ошибку:

enter image description here

Решением было то, что он пытался использовать URL /pm/pm/assets/images, я изменил в своем settings.py:

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

Теперь изображение успешно обслуживается django

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