我正在构建一个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"
答案 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