我是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数据的形式:/。
答案 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。