我正在嘗試使用Django Rest Framework創建一個具有其餘api的新模型。Backbone使用Django Rest Framework創建模型
這是我的串行:
class FooSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Foo
這是我view.py
@api_view(['POST', 'GET','DELETE','OPTIONS'])
def foos(request):
"""
API endpoint to create, delete and get foos
"""
authentication_classes = (authentication.TokenAuthentication,)
permission_classes = (permissions.IsAuthenticated,)
model = Foo
serializer_class = FooSerializer
if request.method == "POST":
data = JSONParser().parse(request)
serializer = FooSerializer(data=data)
if serializer.is_valid():
serializer.save()
return JSONResponse(serializer.data, status=201)
else:
return JSONResponse(serializer.errors, status=400)
return Response(serializer.data)
然後在我的骨幹觀點:
foo = new Foo
name:'Bla di bla di'
foo.save()
注意到發生除OPTIONS失敗,沒有POST。
OPTIONS http://127.0.0.1:8080/api/foo/
我不知道該怎麼做,這不會發生,如果我離開了的contentType:該職位的「應用/ JSON」部分(做人工職位時)
它在我的終端中與CURL一起工作。
在我的鉻督察>網絡我得到這個:
Request URL:http://127.0.0.1:8080/api/foo/
Request Headersview source
Access-Control-Request-Headers:accept, origin, authorization, content-type
Access-Control-Request-Method:POST
Cache-Control:no-cache
Origin:http://localhost:8000
Pragma:no-cache
請求和響應是空的。
編輯
我把服務器與REST API和同樣的事情發生了!所以這給我帶來了一件事,它與服務器無關。必須是AJAX的東西。
林完全混淆 :-(
你可能想在此展開:「的帖子突然失敗,並在OPTIONS失敗」 - 這不是非常清楚你的意思。 – 2013-05-02 13:07:16
我的意思是選項失敗,並停止。沒有帖子 – Harry 2013-05-02 13:12:03
爲什麼你評論如果你沒有建設性的評論? – Harry 2013-05-02 18:47:27