In Django können die über die HTML-Seite übermittelten Daten über den Anforderungsparameter über die in der Ansicht definierte Funktion abgerufen werden. Einfach ausgedrückt gibt es drei Hauptsituationen.
Die einzelnen von der HTML-Seite übergebenen Daten, wie z. B. Radiobox oder Text, können über request.POST.get abgerufen werden
Die HTML-Seite übergibt mehrere Daten, z. B. Kontrollkästchen oder Option, die über request.POST.getlist abgerufen werden können
Die HTML-Seite lädt eine Datei hoch, und die HTML-Seite muss den Enctype angeben. Dies bedeutet, dass dies eine Datei anstelle einer Zeichenfolge ist. Der Hintergrund muss die Adresse der Datei über request.FILES.get erhalten und dann die angegebene Adresse über chunk schreiben
Schauen wir uns nun das Beispiel an:
HTML-Seite
upload.html
<! DOCTYPE html> <html lang = "en"> <head>
<meta charset = "UTF-8">
<title>Title </ title> </ head> <body>
<form action = "/ upload /" method = "POST" enctype = "multipart / form-data">
<p>
<input type = "text" name = "user" placeholder = "用户 名" />
</ p>
<p>
<input type = " Passwort "name =" pwd "placeholder =" 密码 "/>
</ p>
<p>
: :
<input type =" radio "name =" gender "value =" 1 "/>
女 <Eingabetyp = "Radio" Name = "Geschlecht" Wert = "2" />
中 <Eingabetyp = "Radio" Name = "Geschlecht" Wert = "3" />
</ p>
<p>
爱好 :
音乐 <input type = "checkbox" name = "favor" value = "11" />
武术 <input type = "checkbox" name = "favor" value = "22" />
电玩 <input type = "checkbox" name = "favor" value = "33" />
</ p>
<p>
<select name = "city" multiple>
<option value = "sh"> 上海 </ option>
<option value = "bj"> 北京 </ Option>
<option value = "tj"> 天津 </ option>
</ select>
</ p>
<p>
<input type = "file" name = "fafafa "enctype =" multpart / form-data "/>
</ p>
<input type =" submit "value =" 提交 "/>
</ form> </ body> </ html>
Ansichtsfunktion
view.py
def upload (request):
if request.method == "GET":
return render (request, 'upload.html')
elif request.method == "POST":
v = request.POST.get ('user')
print (v)
# radio
v = request.POST.get ('gender')
print (v)
v = request.POST.getlist ('favor')
print (v)
v = request.POST.getlist ('city')
print (v)
obj = request.FILES.get ('fafafa')
print (obj, type (obj), obj.name)
import os
file_path = os.path.join ('upload', obj.name)
print (file_path)
f = offen (Dateipfad,mode = "wb")
für i in obj.chunks ():
f.write (i)
f.close ()
aus django.core.files.uploadedfile importieren InMemoryUploadedFile return render (Anfrage, 'upload.html')
sonst:
# PUT, DELETE, HEAD, OPTION ...
Rückleitung zurückgeben ('/ upload /')
Schnittstelle
Geben Sie die folgenden Werte ein, die gesendet werden sollen
Erhalten Sie erfolgreich Ergebnisse
Bei der Systemprüfung wurden keine Probleme festgestellt (0 stummgeschaltet). 06. Juli 2017 - 15: 25: 56Django Version 1.11 unter Verwendung der Einstellungen 'Django.settings' BREAK. 阿拉丁 2 ['22 ',' 33 '] [' bj ',' tj '] Anweisungen.pdf <Klasse' django.core.files.uploadedfile.InMemoryUploadedFile '> Anweisungen.pdf
upload \ Anweisungen.pdf [06 / Jul / 2017 15:26:10] "POST / upload / HTTP / 1.1" 200 1267
Bestätigen Sie den erfolgreichen Datei-Upload
System-Front-End-Lerntraining, Video-Tutorials, Lernrouten, bitte Prestige hinzufügen: haomei0452