相关疑难解决方法(0)

在GeoDjango的自定义视图中渲染GeoQuerySet的空间数据

我刚刚在GeoDjango上开始了我的第一个项目.

事实上,使用GeoDjango支持的管理应用程序,我们都很有可能查看/编辑与当前对象相关的空间数据.

问题是在填充对象后,我需要在一个地图上一次渲染多个对象的关联几何体.我可以将其实现为模型操作,重定向到自定义视图.我只是不知道,如何在视图中包含OpenLayers小部件以及如何在我的GeoQuerySet中渲染我的复合几何.

我非常感谢来自经验丰富的GeoDjango程序员的任何暗示.

django view geodjango openlayers

14
推荐指数
1
解决办法
8586
查看次数

如何在 Django Rest Framework 中使用 MultiPartParser

我需要上传一个文件和一些与之相关的 JSON。但我不明白如何保存不同的部分,特别是 JSON 部分,即我能够保存图像但不能保存 JSON。

读到我需要使用 MultiPartParser但我不知道如何将它正确集成到我的序列化器类中。

这是我的服务器收到的多部分请求:

<QueryDict: {'geo': ['{"point" : { "type:" : "Point", "coordinates" : [11.51350462236356, -22.70903491973877]}}'], 'picture': [<TemporaryUploadedFile: photo3.jpg (image/*)>]}>
Run Code Online (Sandbox Code Playgroud)

这是视图:

class UserUploadedPicture(APIView):

    def post(self, request, format=None):
        print(request.data)
        print("\n\n\n")
        serializer = PictureSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data)
        return JsonResponse(serializer.errors, status=400)
Run Code Online (Sandbox Code Playgroud)

这是序列化程序:

class PictureSerializer(GeoFeatureModelSerializer):
    class Meta:
        model = Pictures
        geo_field = "point"
        fields = ('picture', 'processed', 'flagged', 'point')
Run Code Online (Sandbox Code Playgroud)

这是模型:

class Pictures(models.Model):
    objects = models.GeoManager()
    picture = models.ImageField(null=True, default=None, blank=True)
    processed = models.BooleanField(default=False)
    flagged = models.BooleanField(default=False) …
Run Code Online (Sandbox Code Playgroud)

django geodjango django-rest-framework django-rest-framework-gis

5
推荐指数
1
解决办法
9849
查看次数