欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  用Pycharm创建一个django项目。目录如下:
  1<!DOCTYPEhtml>
 
  2<htmllang="en">
 
  3<head>
 
  4<metacharset="UTF-8">
 
  5<title>upload</title>
 
  6</head>
 
  7<body>
 
  8{#上传文件的form表单必须要加上enctype="multipart/form-data"#}
 
  9<formaction="/upload/"method="post"enctype="multipart/form-data">
 
  10<inputtype="file"name="upload_files">
 
  11<inputtype="submit"value="提交">
 
  12</form>
 
  13</body>
 
  14</html>
 
  uploadFiles.html
 
  1fromdjango.shortcutsimportrender,HttpResponse
 
  2
 
  3#Createyourviewshere.
 
  4
 
  5#CBV方式(classbaseviews)
 
  6fromdjango.viewsimportView
 
  7classUpload(View):
 
  8defpost(self,request):
 
  9'''
 
  10保存上传文件前,数据需要存放在某个位置。默认当上传文件小于2.5M时,django会将上传文件的全部内容读进内存。从内存读取一次,写磁盘一次。
 
  11但当上传文件很大时,django会把上传文件写到临时文件中,然后存放到系统临时文件夹中。
 
  12:paramrequest:
 
  13:return:
 
  14'''
 
  15#从请求的FILES中获取上传文件的文件名,file为页面上type=files类型input的name属性值
 
  16filename=request.FILES['upload_files'].name
 
  17#在项目目录下新建一个文件
 
  18withopen(filename,'wb')asf:
 
  19#从上传的文件对象中一点一点读
 
  20forchunkinrequest.FILES['upload_files'].chunks():
 
  21#写入本地文件
 
  22f.write(chunk)
 
  23returnHttpResponse('上传ok')
 
  24
 
  25defget(self,request):
 
  26returnrender(request,'uploadFiles.html')
 
  views.py
 
  1"""day67URLConfiguration
 
  2
 
  3The`urlpatterns`listroutesURLstoviews.Formoreinformationpleasesee:
 
  4https://docs.djangoproject.com/en/2.2/topics/http/urls/
 
  5Examples:
 
  6Functionviews
 
  71.Addanimport:frommy_appimportviews
 
  82.AddaURLtourlpatterns:path('',views.home,name='home')
 
  9Class-basedviews
 
  101.Addanimport:fromother_app.viewsimportHome
 
  112.AddaURLtourlpatterns:path('',Home.as_view(),name='home')
 
  12IncludinganotherURLconf
 
  131.Importtheinclude()function:fromdjango.urlsimportinclude,path
 
  142.AddaURLtourlpatterns:path('blog/',include('blog.urls'))
 
  15"""
 
  16fromdjango.contribimportadmin
 
  17fromdjango.urlsimportpath
 
  18fromapp01importviews
 
  19
 
  20urlpatterns=[
 
  21path('upload/',views.Upload.as_view()),
 
  22]
 
  urls.py
 
  注意settings.py中的这一行要注释掉
 
  'django.middleware.csrf.CsrfViewMiddleware',
 
  点击运行,文件会上传到项目的根目录下面。
 
  

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h54868.shtml