繁体   English   中英

Django-rest-framework:可浏览的API无法通过HTML表单获取POST数据,但可以从Raw数据获取

[英]Django-rest-framework: Browsable API can't get POST data via HTML form, but can from Raw data

好吧,问题很简单。 如果我通过HTML表单发布数据,那么将在数据库中创建一条新记录,但是传递的所有数据均为空,如图所示。

通过html表单发布回复

但是,如果使用“ raw_data”接口,则一切正常:

通过原始数据发布回复

代码很简单:

views.py:

class CollectionList(generics.ListCreateAPIView):
    queryset = Collection.objects.all()
    serializer_class = CollectionSerializer

serializer.py:

class CollectionSerializer(serializers.ModelSerializer):
  class Meta:
    model = Collection
    fields = ('id','title', 'nlikes')  

有什么建议吗?

您只需要将django rest框架升级到3.3.1。 3.3.0中存在一个错误,使用会话登录名时会将所有表单数据设置为空值。

编辑:问题是https://github.com/tomchristie/django-rest-framework/issues/3574

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM