Ich lerne Python und Django gleichzeitig. Ich versuche ein XML-Dokument zu erstellen, um XML aus einer Ansicht zurückzugeben. Ich benutze den django Entwicklungsserver im Moment und bekomme diese Informationen in meinen Ansichten anstatt in dem Dokument, das ich erstellen wollte.xml.dom.minidom Document() in Python/django Ausgabe des Speicherortes
Hier ist mein Code
from django.http import HttpResponse
from mypoject.myapp.models import Username
from django.core import serializers
from xml.dom.minidom import Document
import datetime
def authenticate(request, username):
if request.method == "GET":
#Try to get the username
try:
checkUser = Username.objects.get(username__exact = username)
user = userCheck.get(username__exact = username)
userXML = serializers.serialize("xml", checkUser)
except Username.DoesNotExist:
#return XML with status "Failed"
return HttpResponse(xml, mimetype="text/xml")
except:
#return XML with status "Failed"
xmlFailed = Document()
meta = xmlFailed.createElement("meta")
xmlFailed.appendChild(meta)
status = xmlFailed.createElement("status")
meta.appendChild(status)
statusText = xmlFailed.createTextNode("Failed")
status.appendChild(statusText)
message = xmlFailed.createElement("message")
meta.appendChild(message)
totalRecords = xmlFailed.createElement("totalRecords")
meta.appendChild(totalRecords)
executionTime = xmlFailed.createElement("executionTime")
meta.appendChild(executionTime)
return HttpResponse(xmlFailed, mimetype="text/xml")
else:
#return happy XML code with status "Success"
Und hier ist, was auf dem Bildschirm passiert, wenn ich es in meinem Browser anzeigen ...
<xml.dom.minidom.Document instance at 0x993192c>
Wenn ich das Dokument() Schaffung Kommentar darauf hin, dass weggeht . Ich denke also, ich brauche es nur, um die Informationen nicht auszuspucken. Ich habe überall gesucht und ich kann keine direkte Antwort finden, die mich glauben lässt, dass ich etwas offensichtlich Offensichtliches vermisse.
Danke für jede Hilfe!
Danke. Hier ist der Code, den ich \t benötigt \t \t XMLResponse = xmlFailed.toxml ("UTF-8") \t \t return Httpresponse (XMLResponse, MIME-Typ = "text/xml") –
Auch für schönere Menschen lesbare XML formatiert, verwenden toprettyxml() anstelle von toxml(). –