我想使用手机的相机或图库在 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(查看处理 GET
和 POST
请求的代码)和 Flutter 实现(用于制作 code>GET
和 POST
将图像请求发送到 Django 服务器)。
Either code snippets, links to blog posts or documentation would be good.
如果这种方式不可行,Django 和 Flutter 之间可以通过哪些替代方式交换图像?
请帮忙
干杯!!!
最佳答案
一个好的起点可以是使用 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]
围绕它,您可以在您的序列化器中添加验证逻辑,在您的 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 - 当应用程序在后台运行时使用振动