用Pycharm創(chuàng)建一個(gè)django項(xiàng)目。目錄如下:

1 2 " en " > 3 4 " UTF-8 " > 513 14upload 6 7 8 { # 上傳文件的form表單必須要加上enctype="multipart/form-data" #} 9

1 from django.shortcuts import render,HttpResponse 2 3 # Create your views here. 4 5 # CBV方式(class base views) 6 from django.views import View 7 class Upload(View): 8 def post(self,request): 9 ''' 10 保存上傳文件前,數(shù)據(jù)需要存放在某個(gè)位置。默認(rèn)當(dāng)上傳文件小于2.5M時(shí),django會(huì)將上傳文件的全部?jī)?nèi)容讀進(jìn)內(nèi)存。從內(nèi)存讀取一次,寫(xiě)磁盤(pán)一次。 11 但當(dāng)上傳文件很大時(shí),django會(huì)把上傳文件寫(xiě)到臨時(shí)文件中,然后存放到系統(tǒng)臨時(shí)文件夾中。 12 :param request: 13 :return: 14 ''' 15 # 從請(qǐng)求的FILES中獲取上傳文件的文件名,file為頁(yè)面上type=files類(lèi)型input的name屬性值 16 filename = request.FILES[ ' upload_files ' ].name 17 # 在項(xiàng)目目錄下新建一個(gè)文件 18 with open(filename, ' wb ' ) as f: 19 # 從上傳的文件對(duì)象中一點(diǎn)一點(diǎn)讀 20 for chunk in request.FILES[ ' upload_files ' ].chunks(): 21 # 寫(xiě)入本地文件 22 f.write(chunk) 23 return HttpResponse( ' 上傳ok ' ) 24 25 def get(self,request): 26 return render(request, ' uploadFiles.html ' )

1 """ day67 URL Configuration 2 3 The `urlpatterns` list routes URLs to views. For more information please see: 4 https://docs.djangoproject.com/en/2.2/topics/http/urls/ 5 Examples: 6 Function views 7 1. Add an import: from my_app import views 8 2. Add a URL to urlpatterns: path('', views.home, name='home') 9 Class-based views 10 1. Add an import: from other_app.views import Home 11 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') 12 Including another URLconf 13 1. Import the include() function: from django.urls import include, path 14 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) 15 """ 16 from django.contrib import admin 17 from django.urls import path 18 from app01 import views 19 20 urlpatterns = [ 21 path( ' upload/ ' ,views.Upload.as_view() ), 22 ]
注意settings.py中的這一行要注釋掉
' django.middleware.csrf.CsrfViewMiddleware ' ,
點(diǎn)擊運(yùn)行,文件會(huì)上傳到項(xiàng)目的根目錄下面。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
