Tôi đang làm việc với một ứng dụng sử dụng Django Rest Framework.tải lên hình ảnh bằng cách sử dụng RESTAPI
models.py
class Image(models.Model):
image_meta = models.ForeignKey('Image_Meta',on_delete=models.CASCADE,)
image_path = models.URLField(max_length=200)
order = models.IntegerField()
version = models.CharField(max_length=10)
serializers.py
class ImageSerializer(serializers.ModelSerializer):
class Meta:
model = Image
field = ('id', 'image_path' , 'order' , 'version')
views.py
class ImageList(generics.ListCreateAPIView):
queryset = Image.objects.all()
serializer_class = ImageSerializer
class ImageDetail(generics.RetrieveUpdateDestroyAPIView):
queryset = Image.objects.all()
serializer_class = ImageSerializer
mẫu url
url(r'^image/$',views.ImageList.as_view(),name='image_list'),
url(r'^image/(?P<pk>[0-9]+)/$',views.ImageDetail.as_view(),name='image_detail')
Đây chỉ là một phần của toàn bộ hệ thống. Tôi muốn tải lên hình ảnh bằng cách sử dụng RESTAPI và sau đó tải nó lên amazon s3 và từ đó nhận được url và lưu trữ nó trong trường hình ảnh image_path của hình ảnh mô hình. Tôi đã thấy các giải pháp trước đây để tải lên các tệp bằng REST (like this) nhưng không có tác dụng gì đối với trường hợp của tôi. Ai đó có thể đề nghị làm thế nào tôi có thể làm điều đó?
Bạn chỉ nên sử dụng 'ImageField'. Với điều này, hình ảnh thực tế sẽ chỉ được lưu trong S3 và trường trong DB sẽ có đường dẫn đến hình ảnh, trong mã, bạn có thể truy cập bằng cách sử dụng 'image.url'. –
@SaurabhGoyal Vui lòng giải thích cách tôi có thể truy cập url hình ảnh? –
Tôi đã nhận nó anyway :) –