用Pycharm創建一個django項目。目錄如下:
1
2
"
en
"
>
3
4
"
UTF-8
"
>
5
upload
6
7
8
{
#
上傳文件的form表單必須要加上enctype="multipart/form-data" #}
9
13
14
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
保存上傳文件前,數據需要存放在某個位置。默認當上傳文件小于2.5M時,django會將上傳文件的全部內容讀進內存。從內存讀取一次,寫磁盤一次。
11
但當上傳文件很大時,django會把上傳文件寫到臨時文件中,然后存放到系統臨時文件夾中。
12
:param request:
13
:return:
14
'''
15
#
從請求的FILES中獲取上傳文件的文件名,file為頁面上type=files類型input的name屬性值
16
filename = request.FILES[
'
upload_files
'
].name
17
#
在項目目錄下新建一個文件
18
with open(filename,
'
wb
'
) as f:
19
#
從上傳的文件對象中一點一點讀
20
for
chunk
in
request.FILES[
'
upload_files
'
].chunks():
21
#
寫入本地文件
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
'
,
點擊運行,文件會上傳到項目的根目錄下面。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

