我的Django配置无法下载图片,但在数据库中存储时没有出现错误

0 投票
0 回答
24 浏览
提问于 2025-04-12 05:49

我遇到了一个问题,已经两天了。我想把一张汽车网站的图片存储到一个不同于我汽车数据库的地方。创建是成功的,图片在数据库里能看到,但当我尝试把同样的图片存到我应用程序的一个文件夹里时,无论我怎么尝试就是不行。以下是我的模型:

class Cars(models.Model):
    marque          = models.CharField(max_length=60)
    modele          = models.CharField(max_length=60)
    motorisation    = models.CharField(max_length=60)
    couleur         = models.CharField(max_length=60)
    carburant       = models.CharField(max_length=60)

    annee_modele    = models.IntegerField()
    kilometrage     = models.IntegerField()
    nbr_porte       = models.IntegerField()
    nbr_place       = models.IntegerField()
    puiss_fiscale   = models.IntegerField()    #En chevaux fiscaux
    puiss_din       = models.IntegerField()    #En chevaux DIN

    a_vendre        = models.BooleanField(default=True)

class CarImage(models.Model):
    car = models.ForeignKey(Cars, related_name="images", on_delete=models.CASCADE)
    image = models.ImageField(upload_to='car_images/')models.py

Post view :

class manage_cars(View):

    parser_classes = (MultiPartParser, FormParser)

    def post(self, request, *args, **kwargs):
        c_serializer = car_serializer(data=request.POST)
        
        if c_serializer.is_valid():
            car_instance = c_serializer.save()
            
            images = request.FILES.getlist('image')
            print(images)
            for image in images:
                
                image_path = handle_uploaded_image(car_instance, image)
            
                # Créer l'objet CarImage avec le chemin de l'image
                CarImage.objects.create(car=car_instance, image=image_path)
            
            return JsonResponse({"message": "Voiture et images sauvegardées avec succès"}, status=201)
        else:
            return JsonResponse(car_serializer.errors, status=400)
serializers.py 

from rest_framework import serializers
from .models import *

class car_serializer(serializers.ModelSerializer):
    class Meta:
        model = Cars
        fields = "__all__"serializers.py
settings.py :

MEDIA_URL = "/media/"

MEDIA_ROOT = os.path.join(BASE_DIR, "media")

我只是一个法国的新手,刚开始学习后端开发,可能是一些很简单的错误导致了这个问题,但我真的很烦恼……

我尝试给我的“media”和“car_images”文件夹完全控制的权限,还有其他一些方法,但都没有用。

0 个回答

暂无回答

撰写回答