Das Django-Frontend sendet Daten an den Hintergrundbeitrag

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.


  1. Die einzelnen von der HTML-Seite übergebenen Daten, wie z. B. Radiobox oder Text, können über request.POST.get abgerufen werden

  2. Die HTML-Seite übergibt mehrere Daten, z. B. Kontrollkästchen oder Option, die über request.POST.getlist abgerufen werden können

  3. 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

wKioL1ldy6viwlKpAABjBmpovbE418.jpg

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

wKiom1ldy63Ad6QTAACL_l5XBXU868.jpg

System-Front-End-Lerntraining, Video-Tutorials, Lernrouten, bitte Prestige hinzufügen: haomei0452


Ich denke du magst

Origin blog.51cto.com/14895198/2546362
Empfohlen
Rangfolge