如何在成功创建资源后进行JSON响应?

时间:2012-11-18 14:25:27

标签: django tastypie

我正在构建一个Django-Tastypie服务器。成功创建资源后,服务器将响应“201 created”,但Content-Type为text/html。我希望资源总是返回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 个答案:

答案 0 :(得分:1)

尝试添加

always_return_data = True 

到您的Meta。

当您执行POST时,请确保您要发布的网址最后有?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":"myemail@myemail.com", "id": "1"}' http://127.0.0.1:8000/api/v1/user/?format=json