django 通過URL訪問上傳的文件方法
Django2.0 通過URL訪問上傳的文件(pdf、picture等)
Django是一個(gè)成熟的web框架,基于python實(shí)現(xiàn),有很多的優(yōu)點(diǎn),很容易快速上手(詳見官網(wǎng):https://www.djangoproject.com/)的文檔,Django2.0的文檔有1872頁,不得不說是非常全的,文檔是可謂包羅萬象。
Django給我的感覺是很好很強(qiáng)大,至少比flask要完整的多,如果實(shí)現(xiàn)一個(gè)簡單的需求,flask足夠了,不過要安裝各種依賴包,一個(gè)字繁瑣!而Django則集成了非常非常全的功能,不一一討論吧,下面聊一下我遇到的問題及解決的辦法,從網(wǎng)上找了很久很久,始終難以有一個(gè)完整的方法,立此存照吧。
問題:Django上傳文件很容易,那么,如何在網(wǎng)頁中通過鏈接的方式訪問(打開文件、預(yù)覽圖片、rar)文件呢?
準(zhǔn)備環(huán)境
首先是開發(fā)環(huán)境的搭建:Python、Django、pycharm、mysql的安裝(略過,網(wǎng)上有很多教程)
在pycharm中創(chuàng)建Django的工程,其目錄結(jié)構(gòu)如下:
說明:
Resource_Management_System是工程目錄
rms是Django中app的目錄(存放業(yè)務(wù)代碼的地方)
在Resource_Management_System目錄,新建了media目錄和media的子目錄upload(用于存儲上傳的各種文件,實(shí)際中可能要對目錄再進(jìn)行規(guī)劃)
上傳文件
Python上傳文件的代碼,為了簡單起見,直接在app的views.py中書寫上傳文件的代碼,如下:
說明:
上傳文件使用的是POST請求,文件的KEY值是“test.shlian”
通過request.FILE.get()取到上傳的文件對象
39-42行,是具體的寫文件代碼,把文件寫到MEDIA_ROOT目錄的upload目錄
43-44行,返回結(jié)果。
由于是示例,所以代碼簡單,沒有做任何的異常處理。
寫完代碼以后,還不能通過url上傳文件,需要做如下的配置:
配置settings.py,增加上面代碼使用的MEDIA_ROOT和后面即將使用的MDEIA_URL變量,如下:
一切就緒,通過url上傳文件的配置:
完成上述配置以后,打開cmd命令行窗口,切換到Resource_Management_System目錄,執(zhí)行命令:“python manage.py runserver 127.0.0.1:8000”,如果沒有錯(cuò)誤,會出現(xiàn)下面的界面:
至此,基于Django框架的支持文件上傳的app,已經(jīng)成功啟動了。
通過postman測試文件上傳
打開postman,完成如下配置,并點(diǎn)擊”Send”,發(fā)送POST請求,
上傳成功后的顯示:
切換到setting.MEDIA_ROOT目錄,顯示如下:
恭喜!文件上傳成功!接下來,討論另外一個(gè)問題:如何通過URL訪問上傳的這個(gè)PDF文件呢?
通過URL訪問上傳的pdf文件(當(dāng)然也可以訪問其他類型的文件),主要是Django的配置了,主要是配置工程的urls.py文件,配置如下:
說明:
Import 19-21行的庫
增加25行,到urlpatterns,
通過瀏覽器打開上傳的文件:
再看一下上傳的png文件:
以上這篇django 通過URL訪問上傳的文件方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Pandas_cum累積計(jì)算和rolling滾動計(jì)算的用法詳解
今天小編就為大家分享一篇Pandas_cum累積計(jì)算和rolling滾動計(jì)算的用法詳解,具有好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07Python控制windows系統(tǒng)音量實(shí)現(xiàn)實(shí)例
這篇文章主要介紹了Python控制windows系統(tǒng)音量實(shí)現(xiàn)實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-01-01Pycharm導(dǎo)入anaconda環(huán)境的教程圖解
這篇文章主要介紹了Pycharm導(dǎo)入anaconda環(huán)境的教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07解決Pytorch 加載訓(xùn)練好的模型 遇到的error問題
今天小編就為大家分享一篇解決Pytorch 加載訓(xùn)練好的模型 遇到的error問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01教你用Type Hint提高Python程序開發(fā)效率
本文通過介紹和實(shí)例教大家如何利用Type Hint來提升Python程序開發(fā)效率,對大家使用python開發(fā)很有幫助,有需要的參考學(xué)習(xí)。2016-08-08通過Python編程將CSV文件導(dǎo)出為PDF文件的方法
CSV文件通常用于存儲大量的數(shù)據(jù),而PDF文件則是一種通用的文檔格式,便于與他人共享和打印,將CSV文件轉(zhuǎn)換成PDF文件可以幫助我們更好地管理和展示數(shù)據(jù),本文將介紹如何通過Python編程將CSV文件導(dǎo)出為PDF文件,需要的朋友可以參考下2024-06-06python中pip無法正確安裝或路徑出錯(cuò)的解決方案
這篇文章主要介紹了python中pip無法正確安裝或路徑出錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02教你pycharm快速添加遠(yuǎn)程環(huán)境的詳細(xì)過程
今天通過本文給大家分享pycharm快速添加遠(yuǎn)程環(huán)境的過程,通過在setting中選擇設(shè)置符號add,具體詳細(xì)過程跟隨小編一起通過本文學(xué)習(xí)下吧2021-07-07