Python - Django - 'InMemoryUploadedFile' - Objekt hat kein Attribut 'split'
Ich bin so der Benutzer eine txt-Datei hochladen und dann Einreichen, so kann ich einige arbeiten auf, die Datei in einer meiner Ansichten.
Hatte ich einige Probleme mit, die aber mit Hilfe der community ist nun zumindest die Anerkennung der POST-Methode in meine form.
Was passiert ist, dass meine Ansicht nicht das Lesen der Datei. Das ist mir Debuggen meiner Sicht:
Wie Sie sehen können die do_some_work Methode prüft, ob ein POST-Methode, und wenn es dann die Datei, die kommt mit der bitte, dass ist eine TXT-Datei und dann teilen Sie die Zeilen in dieser Datei.
Gut, das funktioniert nicht. Wenn ich Erreiche, die Zeile bekomme ich die:
'InMemoryUploadedFile' object has no attribute 'split'
So, ich weiß nicht, was falsch sein könnte.
Dies ist mein form:
<form action="{% url "do_some_work" %}" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<div class="form-group">
<label for="exampleInputFile">File input</label>
<input type="file" id="exampleInputFile" name="some_file">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
Werde ich für jede Hilfe dankbar, mit diesem. Wenn Sie weitere Informationen benötigen, lasst es mich einfach wissen
Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie versuchen, teilen Sie die Datei-Objekt. Sie können nur teilen des Inhalts der Datei. Ein file-Objekt hat verschiedene Mittel zum Lesen und Bearbeiten Ihrer Inhalte als ein einfacher string.
Den
InMemoryUploadedFile
fungiert als proxy für Pythonfile
Objekt. Um eine Liste der einzelnen Linien, die Sie verwenden können, diereadlines()
Methode:Wenn Sie nur zum Durchlaufen der einzelnen Zeilen, kann man die Iteration der file-Objekt selbst: