Django 定義視圖函數html
1、接收內容及文件處理web
一、接收分類django
# 獲取數據 request.GET # 提交數據 request.POST # 獲取文件 request.FILES
二、checkbox等多選項內容app
request.POST.getlist()
三、上傳文件函數
obj = request.FILES.get('fafafa') obj.name f = pen(obj.name,mode='web') for item in obj.chunks(): f.write(item) f.close()
四、獲取多個值post
# getlist 獲取多個value值,已列表格式輸出 v = request.POST.getlist('favor')
五、獲取上傳文件值spa
# 上傳文件時form表單內須要添加 enctype="multipart/form-data" <form action="/login/" method="post" enctype="multipart/form-data">
# 默認只能拿到文件名 v = request.POST.get('fafafa')
六、對文件處理code
import os # 獲取文件對象v等於文件名,類型則是文件類型 v = request.FILES.get('fafafa') # 獲取同級的upload資源目錄 file_path = os.path.join('upload',v.name) # 打開文件,建立一個文件已上傳文件名生成 f = open(file_path,mode="wb") # chunks表示全部的塊 for i in v.chunks(): # 寫入文件 f.write(i) # 關閉文件 f.close()
2、返回數據orm
一、視圖函數主要在Django項目內app下的 views.py 文件內定義:htm
# 調用模塊方法 from django.shortcuts import render,HttpResponse,redirect def func() # 包含全部的請求數據 .... # 返回字符串內容 return HttpRespon('字符串') # 返回數據 render(request,'模板路徑') 返回html模板內容 return render(request,'index.html') # 返回數據 render(request,'模板路徑',{'傳入特殊數據利用模板渲染'}) 返回html模板內容 render(request,'index.html',{''}) # 返回數據填寫指定URL retrun redirect('URL')