Django里面,通過Html頁面提交的數(shù)據(jù),可以通過在View里面定義的函數(shù)通過request參數(shù)獲取。簡單的說,主要可以分出3種情況。
創(chuàng)新互聯(lián)主營鶴峰網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP軟件開發(fā),鶴峰h5成都小程序開發(fā)搭建,鶴峰網(wǎng)站營銷推廣歡迎鶴峰等地區(qū)企業(yè)咨詢HTML頁面?zhèn)鬟f來的單個數(shù)據(jù), 比如radiobox或者text 可以通過request.POST.get獲取
HTML頁面?zhèn)鬟f來多個數(shù)據(jù),比如checkbox或者option, 可以通過request.POST.getlist獲取
HTML頁面上傳了一個文件,html端需要表明enctype,表示這是一個文件而不是字符串;后臺需要通過request.FILES.get獲取這個文件的地址,然后通過chunk分塊寫入指定的地址
現(xiàn)在來看看實例:
HTML頁面
upload.html
Title
視圖函數(shù)
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 = open(file_path, mode="wb") for i in obj.chunks(): f.write(i) f.close() from django.core.files.uploadedfile import InMemoryUploadedFile return render(request, 'upload.html') else: # PUT,DELETE,HEAD,OPTION... return redirect('/upload/')
界面
輸入下面的值進(jìn)行提交
成功獲取結(jié)果
System check identified no issues (0 silenced). July 06, 2017 - 15:25:56 Django version 1.11, using settings 'Django.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK. 阿拉丁 2 ['22', '33'] ['bj', 'tj'] statements.pdfstatements.pdf upload\statements.pdf [06/Jul/2017 15:26:10] "POST /upload/ HTTP/1.1" 200 1267
確認(rèn)成功上傳文件
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。