Ich versuche, ein sehr einfaches Skript in Django zu entwickeln, würde ich eine Json-Daten von der Anfrage sammeln und dann alle Daten in der Datenbank speichern.erhalten Json Daten von Anfrage mit Django
Ich habe ein Python-Skript entwickelt, mit dem ich die Json-Daten an die Django-Ansicht sende, aber ich mache etwas falsch, und ich kann nicht verstehen, was passiert ist, denn jedes Mal, wenn ich es ausführe habe "Malformed data!".
Kann mir jemand helfen? Was mache ich falsch?
Sender.py
import json
import urllib2
data = {
'ids': ["milan", "rome","florence"]
}
req = urllib2.Request('http://127.0.0.1:8000/value/')
req.add_header('Content-Type', 'application/json')
response = urllib2.urlopen(req, json.dumps(data))
Django view.py
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
import json
from models import *
from django.http import StreamingHttpResponse
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def value(request):
try:
data = json.loads(request.body)
label = data['label']
url = data ['url']
print label, url
except:
return HttpResponse("Malformed data!")
return HttpResponse("Got json data")
Sie müssen Ihr Wörterbuch korrigieren, da es in der Datei Sender.py keinen Schlüssel 'label' oder 'url' enthält. – Prateek
@Prateek Ich habe den Schlüssel 'IDs' im Python-Skript mit 'Label' geändert und ich habe die Zeile URL = Daten ['URL'] und auch die URL-Variable im Ausdruck entfernt, aber ich habe das gleiche Problem, wenn ich aktualisieren Auf der Browserseite zeigt es mir nur "Malformed Data!" – macco