Есть ли способ передачи изображений между Django Rest Framework и приложением Flutter? - PullRequest
0 голосов
/ 05 апреля 2020

Я хочу сделать снимок в приложении во флаттере с помощью камеры или галереи телефона и отправить его (POST запрос) в Django REST API вместе с другой информацией. Когда Django REST API получает изображение вместе с другой информацией, он должен изменить размер изображения и затем сохранить его в модели, например:

class Animals(models.Model):
    animal_image = models.ImageField(blank = True, upload_to=getFileName)
    animal_name = models.CharField(max_length = 30)
    species = models.CharField(max_length = 30)

И позже приложение флаттера должно быть в состоянии сделать GET запрос к API, чтобы получить изображение вместе с другими деталями модели и отобразить изображение в виджете (на другом экране приложения).

Поэтому я хочу знать, как выполнить Django REST API (просмотр кода для обработки запроса GET и POST) и реализацию Flutter (код для выполнения запросов GET и POST с изображениями на сервер Django).

Хорошо подойдут фрагменты кода, ссылки на посты в блогах или документация.

Если этот способ невозможен, каковы альтернативные способы обмена изображениями? между Django и флаттером?

Пожалуйста, помогите

Ура !!!

1 Ответ

0 голосов
/ 05 апреля 2020

Хорошей отправной точкой может быть использование Django REST Framework ModelViewSet и ModelSerializer:

# serializers.py
class AnimalSerializer(serializers.ModelSerializer):
    class Meta:
        model = Animals
        fields = '__all__'

# views.py
class AnimalViewSet(ModelViewSet):
    queryset = Animals.objects.all()
    serializer = AnimalSerializer

# urls
router = DefaultRouter()
router.register(r'animals', AnimalViewSet, base_name='animal')

urlpatterns = [router.urls]

Вокруг этого вы можете добавить проверочный лог c в вашем сериализаторе, permission_classes в вашем наборе, ... et c.

...