2012-11-18 1 views
0

Я строю сервер Django-Tastypie. После успешного создания ресурса сервер ответит мне «201 создан», но Content-Type - text/html. Я хочу, чтобы ресурс всегда возвращал ответ JSON, как это сделать?Как сделать ответ JSON после успешного создания ресурса?

Вот мой код ресурса

class UserResource(ModelResource): 

    class Meta: 
     resource_name = "user" 
     queryset = User.objects.all() 
     authentication = Authentication() 
     authorization = Authorization() 

     allowed_methods=["post"] 
     fields= ["username","email","id"] 


    def determine_format(self, request): 
     return "application/json" 

ответ

1

Попробуйте добавить

always_return_data = True 

к вашему Meta.

И когда вы выполняете свой POST, убедитесь, что URL-адрес, который вы публикуете, имеет ?format=json в конце. Например.

http://127.0.0.1:8000/api/v1/user/?format=json 

Полный пример POST через завиток: -

curl -v -H "Content-Type: application/json" -X POST --data '{"username":"calvin", "email":"[email protected]", "id": "1"}' http://127.0.0.1:8000/api/v1/user/?format=json 
+0

спасибо большое – user1687717