Aşağıdaki görünüme sahip:Django istirahat Çerçeve ham JSON olarak geçirilen veri serisini gelmez
class Authenticate(generics.CreateAPIView):
serializer_class = AuthSerializer
def create(self, request):
serializer = AuthSerializer(request.POST)
# Do work here
veri ham JSON olarak geçirildiği takdirde veri Ancak biçimi olarak geçirilir, bu iyi çalışıyor serializer, None (Hiçbiri) olarak ayarlanmış tüm alanları ile eşleştirilir. Belgeler, ham bir JSON argümanını işlemek için belirli bir şey olması gerektiğini belirtmektedir.
Herhangi bir yardım için teşekkür ederiz.
GÜNCELLEME
ham JSON geçerken beklenen ama daha iyi bir yolu olmalı inandığı gibi ben Gözatılabilir API çalışması için etrafında aşağıdaki iş var.
def parse_data(request):
# If this key exists, it means that a raw JSON was passed via the Browsable API
if '_content' in request.POST:
stream = StringIO(request.POST['_content'])
return JSONParser().parse(stream)
return request.POST
class Authenticate(generics.CreateAPIView):
serializer_class = AuthSerializer
def create(self, request):
serializer = AuthSerializer(parse_data(request))
# Do work here
Elinizde ne var? Yoksa hiç hata yaptın mı? –
Diziselleştirici, Nones ile başlatıldı. Sorun, Browsable API'nin JSON'u bir '_content' anahtarının içine göndermesidir. Bunun ne zaman olduğunu ve json'u bir tahdille ayrıştırmak için bir fonksiyon yarattım ama daha iyi bir yol olması gerektiğine inanıyorum. – Raphael