2015-10-06 67 views
0

我正在使用Django Rest框架实现API。我不知道Python可以像Ruby一样发送POST参数吗?在Django Rest框架中以数组形式发布数据

例如:

POST /api/end_point/ 
params = { 'user_id': [1,2,3] } 

# In controller, we get an array of user_id: 
user_ids = params[:user_id] # [1,2,3] 

回答

0

有许多的方式来处理这django-rest-framework,这取决于你实际上是试图做。

如果您打算通过POST数据传递此数据,那么您应该使用Serializer。使用串行器和django-rest-framework s Serializer您可以通过json或通过form提供POST数据。

Serializer文档:http://www.django-rest-framework.org/api-guide/serializers/ Serializer Field文档:http://www.django-rest-framework.org/api-guide/fields/

具体来说,你会想看看ListField

这不是测试,但你会想沿着线的东西:

from rest_framework import serializers 
from rest_framework.decorators import api_view 

class ItemSerializer(serializers.Serializer): 
    """Your Custom Serializer""" 
    # Gets a list of Integers 
    user_ids = serializers.ListField(child=serializers.IntegerField()) 

@api_view(['POST']) 
def item_list(request): 
    item_serializer = ItemSerializer(data=request.data) 
    item_serializer.is_valid(raise_exception=True) 
    user_ids = item_serializer.data['user_ids'] 
    # etc ... 
相关问题