Django Rest Framework如何在可浏览的API上发布数据

时间:2015-12-17 19:01:28

标签: python django django-rest-framework

我是Django Rest Framework的新手。我知道可以使用Browsable API发布数据,我只是不知道如何。我有这个简单的观点:

class ProcessBill(APIView):

    def post(self, request):

        bill_data = request.data
        print(bill_data)

        return Response("just a test", status=status.HTTP_200_OK)

当我转到指向此视图的url时,我得到了rest_framework可浏览的api视图以及来自服务器method not allowed的响应,这是可以理解的,因为我没有设置def get()方法。但是......如何发布数据呢?我期待某种形式的某种形式。

修改 这是可浏览API如何找我的截图,它是西班牙语。 view与我上面写的相同,但是用西班牙文写的。正如你所看到的......没有POST数据的形式:/。

enter image description here

2 个答案:

答案 0 :(得分:2)

由于您是新手,我建议您使用Generic views,这样可以节省大量时间,让您的生活更轻松:

class ProcessBillListCreateApiView(generics.ListCreateAPIView):
    model = ProcessBill
    queryset = ProcessBill.objects.all()
    serializer_class = ProcessBillSerializer

    def create(self, request, *args, **kwargs):
        bill_data = request.data
        print(bill_data)
        return bill_data

我建议您通过DRF Tutorial以不同的方式实现您的端点和一些高级功能,例如通用视图 Permessions 等。< / p>

答案 1 :(得分:0)

用户很可能具有只读权限。在这种情况下,请确保对用户进行了正确的身份验证,或者如果不需要,请从项目的settings.py中删除配置。

    ```#'DEFAULT_PERMISSION_CLASSES': [
       # 'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
       #],```

详细了解权限here