Tôi đang cố gắng để làm một POST sử dụng curl:Django & TastyPie: request.POST trống
curl --dump-header - -H "Content-Type: application/json" -X POST --data '{"item_id": "1"}' http://www.mylocal.com:8000/api/1/bookmarks/
Tuy nhiên, request.POST luôn trống.
Dưới đây là mã ModelResource tôi:
class BookmarkResource(ModelResource):
class Meta:
queryset = Bookmark.objects.all()
resource_name = 'bookmarks'
fields = ['id', 'tags']
allowed_methods = ['get', 'post', 'delete', 'put']
always_return_data = True
authorization= Authorization()
include_resource_uri = False
def determine_format(self, request):
return "application/json"
def obj_create(self, bundle, **kwargs):
request = bundle.request
try:
payload = simplejson.loads(request.POST.keys()[0])
except:
payload = simplejson.loads(request.POST.keys())
Bất kỳ ai biết những gì tôi đang thiếu?
Xin cảm ơn trước.
Xem thêm http://stackoverflow.com/questions/1208067/wheres-my-json-data-in-my-incoming-django-request. – Seth
@dannyroa Điều gì phân biệt "dữ liệu biểu mẫu" và "dữ liệu không phải dạng"? – rrauenza
... Nhìn vào nguồn Django, có vẻ như nó được định nghĩa trong '_load_post_and_files()' và phụ thuộc vào 'CONTENT_TYPE' -' multipart/form-data' và 'application/x-www-form-urlencoded' – rrauenza