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" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

用python寫一個(gè)簡(jiǎn)單的文件上傳

系統(tǒng) 1766 0

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

用python寫一個(gè)簡(jiǎn)單的文件上傳_第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
              
              
                        保存上傳文件前,數(shù)據(jù)需要存放在某個(gè)位置。默認(rèn)當(dāng)上傳文件小于2.5M時(shí),django會(huì)將上傳文件的全部?jī)?nèi)容讀進(jìn)內(nèi)存。從內(nèi)存讀取一次,寫磁盤一次。

              
              
                11
              
              
                        但當(dāng)上傳文件很大時(shí),django會(huì)把上傳文件寫到臨時(shí)文件中,然后存放到系統(tǒng)臨時(shí)文件夾中。

              
              
                12
              
              
                        :param request:

              
              
                13
              
              
                        :return:

              
              
                14
              
              
                '''
              
              
                15
              
              
                #
              
              
                 從請(qǐng)求的FILES中獲取上傳文件的文件名,file為頁面上type=files類型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
              
              
                #
              
              
                 寫入本地文件
              
              
                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
            
            
              '
            
            ,
          

  點(diǎn)擊運(yùn)行,文件會(huì)上傳到項(xiàng)目的根目錄下面。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 揭东县| 芜湖县| 涟水县| 册亨县| 乌拉特中旗| 平乡县| 新丰县| 绥芬河市| 兴国县| 滦南县| 栾城县| 九龙县| 比如县| 德州市| 嵊州市| 新津县| 广饶县| 景洪市| 漳浦县| 宜都市| 海伦市| 邵阳县| 阿克| 铜陵市| 息烽县| 海原县| 湟中县| 桦川县| 宁化县| 增城市| 来凤县| 荔波县| 富源县| 金乡县| 兰考县| 陈巴尔虎旗| 班玛县| 福安市| 惠来县| 新竹县| 双桥区|