Я пытаюсь сделать нормальный API блога с Mongoengine и django. проблема в том, что когда мне нужно показать какое-то изображение, я не смог.
models.py
from mongoengine import *
connect('review')
# Category Model
class CategoryModel(Document):
_parent = ReferenceField('self')
name = StringField(max_length=110)
featuredImage = ImageField(collection_name='filesystem')
icon = ImageField(collection_name='filesystem')
order = IntField()
meta = {'collection': 'categories'}
def __str__(self):
return self.name
serializer.py
from rest_framework_mongoengine import serializers
from products.models import *
# Category Serializer
class CategorySerializer(serializers.DocumentSerializer):
name = StringField(max_length=110)
featuredImage = ImageGridFsProxy(collection_name='filesystem')
icon = ImageGridFsProxy(collection_name='filesystem')
order = IntField()
class Meta:
model = CategoryModel
fields = '__all__'
просмотров. py
from rest_framework_mongoengine import viewsets
from products.models import *
from .serializer import *
from library.api import *
# Category View Set
class CategoryView(viewsets.ModelViewSet):
queryset = CategoryModel
serializer_class = CategorySerializer
def getallcategories(self, request):
categories = CategoryModel.objects.all()
serializer = CategorySerializer(categories, many=True)
return Send(data=serializer.data).response()
и ответ, который я получил,
{
"id": "5e89b2c89e19fb2137088e63",
"name": "something",
"featuredImage": "None",
"icon": "5e89b2c89e19fb2137088e61",
"order": 250,
"_parent": null
}
, но я ожидаю объект с полным ресурсом изображения, например уменьшенное изображение или любой другой размер, который я определю. Нет проблем, если он даст мне либо закодированное изображение, либо URL-адрес изображения. но мне нужно что-то показать на переднем конце
Я ожидаю, что данные, как
{
"id": "5e89b2c89e19fb2137088e63",
"name": "something",
"featuredImage": {
"fullUrl": fullUrl,
"encoded": "blabla"
},
"icon": {
or filesystem.file Object
},
"order": 250,
"_parent": null
}