django 5 表單1 檔案上傳

2021-08-21 22:29:03 字數 1850 閱讀 6399

上傳檔案1

class

userform(forms.form):

name =forms.charfield()

headimg =forms.filefield()

defregist(req):

if req.method == '

post':

uf =userform(req.post, req.files)

ifuf.is_valid():

print(uf.cleaned_data['

name

']) #

通過clean_data獲取字段

print

(req.files)                            #類字典物件

]}>

print(uf.cleaned_data['

headimg

'])                  #上傳檔案的名字

print(uf.cleaned_data['

headimg

'].name)               #上傳檔案的名字

print(uf.cleaned_data['

headimg

'].size)

fp = open('

/tmp/img/

'+uf.cleaned_data['

headimg

'].name, 'wb'

)  #開啟二進位制檔案用於儲存

)                      #成功返回ok,不會執行到下方的return

else

: uf =userform()                               #當傳入空,即繫結失敗,被執行,然後執行後邊,第一次請求時也會被執行

return render(req, '

regist.html

', )

上傳檔案2:使用資料庫

models.py

class

user(models.model):

name = models.charfield(max_length=30)

*** = models.charfield(max_length=1, choices=***_choices)

headimg = models.filefield(upload_to='

./upload')

def__str__

(self):

return self.name

設定admin.py,使可以在admin管理介面操作。

from django.contrib import

admin

from blog.models import user #

引入應用的表

#register your models here.

admin.site.register(user) #

把user註冊到admin

資料庫中欄位儲存檔案路徑,缺省會在工程下生成定義的upload目錄,可以在setting.py中修改,不知道修改哪個?

修改儲存路徑後,之前上傳過的怎麼辦,複製過去並修改,還是不變?

能不能通過把兩個方法合併?通過自己的web上傳到資料

1 檔案上傳

當上傳乙個檔案時,會先將其作為臨時目錄傳到伺服器,如果不將其啟動到其它目錄,就會刪除。php上傳後端 upload.php uname post uname echo uname.1.首先判斷是否出錯 if files userfile error 0 2.判斷上傳型別是否符合規定 echo fil...

HTML5 檔案上傳

源 function getobjecturl file var url null if window.createobjecturl undefined else if window.url undefined else if window.webkiturl undefined return u...

html5檔案 上傳

表單提交檔案是最常見的場景,使用者選擇檔案後,觸發了檔案選擇框的change事件,通過訪問檔案選擇框元素的files屬性可以拿到選定的檔案列表。如果檔案選擇框指定了multiple,則乙個檔案選擇框可以同時選擇多個檔案,files包含了所有選擇的檔案物件 如果沒有指定,則只能選擇乙個檔案,files...