Я работаю с приложением, используя Django Rest Framework.Загрузка изображений с использованием 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
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')
Это только часть всей системы. Я хочу загрузить изображения с помощью RESTAPI, а затем загрузить его на amazon s3, а затем получить URL-адрес и сохранить его в поле image_path. Я видел предыдущие решения для загрузки файлов с помощью REST (like this), но ничего не работало для моего дела. Может кто-нибудь предложить, как я могу это сделать?
Вы должны просто использовать 'ImageField'. При этом фактическое изображение будет сохранено только в S3, и поле в БД будет иметь путь к изображению, которое в коде вы можете получить с помощью 'image.url'. –
@SaurabhGoyal Пожалуйста, уточните, как я могу получить доступ к URL-адресу изображения? –
Я получил его в любом случае :) –