django 通過URL訪問上傳的文件方法
Django2.0 通過URL訪問上傳的文件(pdf、picture等)
Django是一個成熟的web框架,基于python實現(xiàn),有很多的優(yōu)點,很容易快速上手(詳見官網:https://www.djangoproject.com/)的文檔,Django2.0的文檔有1872頁,不得不說是非常全的,文檔是可謂包羅萬象。
Django給我的感覺是很好很強大,至少比flask要完整的多,如果實現(xiàn)一個簡單的需求,flask足夠了,不過要安裝各種依賴包,一個字繁瑣!而Django則集成了非常非常全的功能,不一一討論吧,下面聊一下我遇到的問題及解決的辦法,從網上找了很久很久,始終難以有一個完整的方法,立此存照吧。
問題:Django上傳文件很容易,那么,如何在網頁中通過鏈接的方式訪問(打開文件、預覽圖片、rar)文件呢?
準備環(huán)境

首先是開發(fā)環(huán)境的搭建:Python、Django、pycharm、mysql的安裝(略過,網上有很多教程)
在pycharm中創(chuàng)建Django的工程,其目錄結構如下:
說明:
Resource_Management_System是工程目錄
rms是Django中app的目錄(存放業(yè)務代碼的地方)
在Resource_Management_System目錄,新建了media目錄和media的子目錄upload(用于存儲上傳的各種文件,實際中可能要對目錄再進行規(guī)劃)
上傳文件
Python上傳文件的代碼,為了簡單起見,直接在app的views.py中書寫上傳文件的代碼,如下:

說明:
上傳文件使用的是POST請求,文件的KEY值是“test.shlian”
通過request.FILE.get()取到上傳的文件對象
39-42行,是具體的寫文件代碼,把文件寫到MEDIA_ROOT目錄的upload目錄
43-44行,返回結果。
由于是示例,所以代碼簡單,沒有做任何的異常處理。
寫完代碼以后,還不能通過url上傳文件,需要做如下的配置:
配置settings.py,增加上面代碼使用的MEDIA_ROOT和后面即將使用的MDEIA_URL變量,如下:

一切就緒,通過url上傳文件的配置:

完成上述配置以后,打開cmd命令行窗口,切換到Resource_Management_System目錄,執(zhí)行命令:“python manage.py runserver 127.0.0.1:8000”,如果沒有錯誤,會出現(xiàn)下面的界面:

至此,基于Django框架的支持文件上傳的app,已經成功啟動了。
通過postman測試文件上傳
打開postman,完成如下配置,并點擊”Send”,發(fā)送POST請求,

上傳成功后的顯示:

切換到setting.MEDIA_ROOT目錄,顯示如下:

恭喜!文件上傳成功!接下來,討論另外一個問題:如何通過URL訪問上傳的這個PDF文件呢?
通過URL訪問上傳的pdf文件(當然也可以訪問其他類型的文件),主要是Django的配置了,主要是配置工程的urls.py文件,配置如下:

說明:
Import 19-21行的庫
增加25行,到urlpatterns,
通過瀏覽器打開上傳的文件:

再看一下上傳的png文件:

以上這篇django 通過URL訪問上傳的文件方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python中函數(shù)的創(chuàng)建與調用你了解嗎
這篇文章主要為大家詳細介紹了Python中函數(shù)的創(chuàng)建與調用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03
Python實現(xiàn)讀取SQLServer數(shù)據并插入到MongoDB數(shù)據庫的方法示例
這篇文章主要介紹了Python實現(xiàn)讀取SQLServer數(shù)據并插入到MongoDB數(shù)據庫的方法,涉及Python同時進行SQLServer與MongoDB數(shù)據庫的連接、查詢、讀取、寫入等相關操作實現(xiàn)技巧,需要的朋友可以參考下2018-06-06
pandas DataFrame 刪除重復的行的實現(xiàn)方法
這篇文章主要介紹了pandas DataFrame 刪除重復的行的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-01-01
關于Pycharm配置翻譯插件Translation報錯更新TTK失敗不能使用的問題
這篇文章主要介紹了關于Pycharm配置翻譯插件Translation報錯更新TTK失敗不能使用的問題,本文通過圖文并茂的形式給大家分享解決方案,需要的朋友可以參考下2022-04-04

