【问题标题】:Vectorial comparison with Django REST framework与 Django REST 框架的矢量比较
【发布时间】:2016-05-08 13:48:06
【问题描述】:

我是 django(以及 django rest 框架)的新手,我有点迷茫。 我设法按照教程进行操作,并且我的 REST API 服务器正在运行。我可以发布数据,从我的数据库中获取它们,一切正常,但我无法理解如何制作自定义函数。我显然缺少一些概念。

我想将一个向量(例如 [0, 1, 1, 0, 1, 0])作为 JSON 发布,我希望我的服务器从我的数据库中获取所有向量,比较它们然后返回给我相似度得分。

我什至不知道如何发布一个简单的数字,将其乘以 2,然后将结果作为 JSON 返回。是否有人对此有很好的教程,或者可以向我解释如何实现如此简单的事情?然后我会自己弄清楚我的向量比较:) 谢谢!

【问题讨论】:

    标签: django django-rest-framework


    【解决方案1】:

    我是在没有实际测试代码的情况下编写的,所以它可能有一些拼写错误或问题,但它应该可以帮助您入门。它展示了如何制作自定义 API。在这种情况下,我采用一个向量并将每个项目乘以 2 并返回:

    from rest_framework.views import APIView
    from rest_framework.parsers import JSONParser
    
    class TestSerializer(serializers.Serializer):
        vector = serializers.ListField(
            child=serializers.IntegerField(min_value=0, max_value=100)
        )
    
    
    class TestViewSet(APIView):
    
        #permission_classes = ()
    
        def post(self, request, format=None):
    
            data = JSONParser().parse(request)
            serializer = TestSerializer(data=data)
    
            if serializer.is_valid():
                vector = serializer.data.get('vector')
    
                new_vector = []
                for item in vector:
                    new_vector.append(item*2)
    
                new_data = {
                    'vector': new_vector
                }
    
                return Response(new_data, status=status.HTTP_201_CREATED)
    
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
    

    希望它能让你走上正确的道路。

    【讨论】:

    • 谢谢,我做了一些修改,但它帮助我理解了我遗漏的一些要点 :)
    猜你喜欢
    • 1970-01-01
    • 2015-04-17
    • 2021-01-16
    • 1970-01-01
    • 2018-08-20
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 2017-03-10
    相关资源
    最近更新 更多