我是django的新手(以及django休息框架),我有点失落。 我设法按照教程运行我的REST API服务器。我可以发布数据,从我的数据库中获取数据,一切正常,但我在理解如何制作自定义函数时遇到问题。我显然遗漏了一些想法。
我想将一个向量(例如[0,1,1,0,1,0])作为JSON发布,我希望我的服务器从我的数据库中获取所有向量,比较它们然后返回给我相似度得分。
我甚至不知道如何发布一个简单的数字,将其乘以2然后将结果作为JSON返回。有人有一个很好的教程,或者可以解释我如何才能实现这么简单的事情?然后我会自己弄清楚我的矢量对比:)谢谢!
答案 0 :(得分:0)
我写这篇文章时没有实际测试代码,所以它可能有一些拼写错误或问题,但它应该可以帮助你开始。它显示了如何制作自定义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)
希望它能让你走上正确的道路。