34"UTF-8">5upload678{#上傳文件的form表單必須要加上enctype="multipart/form-data"#}9"/upload/"method="post"enctype="multipart/form-data">10"file"name="upload_files">11"submit"value="提交">121314uploadFiles.html1fr" />

黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

用python寫一個簡單的文件上傳

系統(tǒng) 1902 0

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

用python寫一個簡單的文件上傳_第1張圖片

              
                 1
              
              
                 2
              
               "
              
                en
              
              
                "
              
              >

              
                 3
              
              
                 4
              
              
              "
              
                UTF-8
              
              
                "
              
              >

              
                 5
              
              
                upload
              
              
                 6
              
              
                 7
              
              
                 8
              
               {
              
                #
              
              
                 上傳文件的form表單必須要加上enctype="multipart/form-data" #}
              
              
                 9
              
              
" /upload/ " method= " post " enctype= " multipart/form-data " > 10 " file " name= " upload_files " > 11 " submit " value= " 提交 " > 12
13 14
uploadFiles.html
              
                 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會把上傳文件寫到臨時文件中,然后存放到系統(tǒng)臨時文件夾中。

              
              
                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
              
              
                '
              
              )
            
views.py
              
                 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
              
               ]
            
urls.py

  注意settings.py中的這一行要注釋掉

            
              '
            
            
              django.middleware.csrf.CsrfViewMiddleware
            
            
              '
            
            ,
          

  點擊運行,文件會上傳到項目的根目錄下面。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論