В настоящее время я пытаюсь использовать imageField для передачи изображений из моей модели в конечную точку, но я не знаю, как это сделать.
Вот моя модель:
class searchResultsItem(models.Model):
"""
Model to store search results item for a tableView cell
"""
title = models.CharField(max_length = 100)
price = models.CharField(max_length = 4)
pop = models.IntegerField(default = 0)
distance = models.CharField(max_length = 10)
image = models.ImageField(upload_to="/media",default="/media")
Вот мой взгляд:
class searchResultsItemViewSet(viewsets.ModelViewSet):
"""
API or Endpoint that can be viewed or edited
"""
queryset = searchResultsItem.objects.all()
serializer_class = searchResultsItemsSerializer
Вот мой сериализатор:
class searchResultsItemsSerializer(serializers.ModelSerializer):
"""
Serializer to parse searchResultsCell data
"""
image = serializers.ImageField(
max_length = None, use_url=True
)
class Meta:
model = searchResultsItem
fields = ('title','price','pop','distance','image')
Вот мои URL:
from panView.searchTableData import views
router = routers.DefaultRouter()
router.register(r'searchResultsItem',views.searchResultsItemViewSet)
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^', include(router.urls)),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
]
Однако, когда я смотрю на свою конечную точку, я получаю ошибку 404 для URL-адреса изображения. Изображения расположены в каталоге мультимедиа над папкой моего приложения и в папке моего проекта. Текстовые объекты работают, а не изображения.
Если кто-нибудь знает, как передавать изображения из среды отдыха Django в конечную точку с помощью imageField, мне бы хотелось получить руководство для этого.