django - 有没有办法在 Django Rest Framework 和 Flutter 应用

我想使用手机的相机或图库在 flutter 中的应用程序上拍照,并将其与其他一些信息一起发送(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)

稍后,flutter 应用程序应该能够向 API 发出 GET 请求,以获取图像以及模型中的其他细节,并将图像显示在小部件上(在另一个应用程序屏幕)。

因此,我想知道如何执行 Django REST API(查看处理 GETPOST 请求的代码)和 Flutter 实现(用于制作 code>GETPOST 将图像请求发送到 Django 服务器)。

Either code snippets, links to blog posts or documentation would be good.

如果这种方式不可行,Django 和 Flutter 之间可以通过哪些替代方式交换图像?

请帮忙

干杯!!!

最佳答案

一个好的起点可以是使用 Django REST Framework ModelViewSetModelSerializer :

# 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]

围绕它,您可以在您的序列化器中添加验证逻辑,在您的 View 集中添加permission_classes,等等。

关于django - 有没有办法在 Django Rest Framework 和 Flutter 应用程序之间传输图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61040696/

相关文章:

javascript - 为什么 npm install 没有将包安装到/node_modules

php - 如何使用带有 "grpc_php_plugin"的 PHP 和 Windows 10 的

reactjs - 为什么我在 react-native 中的 svg 没有显示任何阴影?

typescript - 我如何告诉 SentryWebpackPlugin 我的源映射的名称?

vue.js - Vue 路由器延迟加载不起作用或创建单独的 block 文件

unity3d - SceneManager LoadScene 在编辑器播放模式下不工作

azure - 使用 cloudinit 创建 Terraform azurerm 虚拟机

react-native - 当应用程序在后台运行时使用振动

visual-studio-code - vscode 获取对象属性到建议顶部

Angular 8 - POST + 重定向与提交 HTML

完全一样,但不使用 DO