日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python相册管理系统_Django实现一个相片管理系统01

發(fā)布時(shí)間:2023/12/19 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python相册管理系统_Django实现一个相片管理系统01 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

有些日子沒寫筆記,O(∩_∩)O哈哈~實(shí)在是肚子沒有墨水啦!今天不寫數(shù)據(jù)結(jié)構(gòu)啦!多懷念研究數(shù)據(jù)結(jié)構(gòu)的日子啊!

可是呢!最近有個(gè)項(xiàng)目要搞圖像管理方面的,具體內(nèi)容就不說啦!我們今天來實(shí)現(xiàn)一個(gè)簡單的相冊(cè)管理系統(tǒng)!

使用的系統(tǒng)是linux ubuntu;python2.7 ;django版本可以通過以下方式查詢;

我的是1.8.1目前是最新的吧!

好啦!看看我們將要完成的任務(wù);

1)實(shí)現(xiàn)上傳圖像的功能;

2)在圖像管理界面顯示每一張圖像的名字,還有縮略圖;

簡單的說django已經(jīng)幫我們做啦大部分工作,我們需要寫的東西非常簡單的;

Solution

1)創(chuàng)建項(xiàng)目;

django-admin.py startproject myproject

2)進(jìn)入項(xiàng)目

cd myproject

3)創(chuàng)建應(yīng)用

django-admin.py startapp myapp

4)查看你當(dāng)前的目錄是不是像下面這樣的;

好啦!工程創(chuàng)建完畢;配置配置啦!不要說到配置就怕啦!(以前配置apache我就挺煩的)

1)進(jìn)入內(nèi)層的myproject目錄

cd myproject

2)編輯settings.py文件(目前需要修改兩處)

注意,我們與其他的內(nèi)容保持隊(duì)形:D添加好myapp后;由于我們需要上傳文件,所以暫時(shí)需要禁用csrf..

好啦!配置完成啦!我們可以進(jìn)入到myapp里面寫些自己想實(shí)現(xiàn)的東西啦;

1)用vim打開models.py

2)執(zhí)行makemigrations命令

3)執(zhí)行migrate命令

4)執(zhí)行syncdb命令(同時(shí)選擇創(chuàng)建管理員用戶)

5)好啦!一切完成后可以運(yùn)行服務(wù)器啦;

6)輸入127.0.0.1:8000/admin/網(wǎng)址;

好啦!這個(gè)從模型編寫到在網(wǎng)站上顯示這個(gè)過程太快啦!你可以暫時(shí)休息休息,思考一下啦;

并且,試著去測試一下圖像是否能夠上傳?問問自己圖像到底會(huì)上傳到什么位置?

現(xiàn)在能不能看到圖像的縮略形式呈現(xiàn)呢?

點(diǎn)擊+號(hào),添加一張圖片看看就知道啦;

結(jié)果你不要驚訝!看看如下的結(jié)果是不是和你一樣呢?

我們沒有看到縮略圖的出現(xiàn)。現(xiàn)在我們解決它;

1)我需要一個(gè)方法來返回一段html語句,用html來顯示圖片;

看起來image_path有些怪怪的,不過先不要管它,待會(huì)我們會(huì)知道它到底是什么;

2)注冊(cè)我們這個(gè)方法屬性到管理模塊;

3)下面可以到瀏覽器測試?yán)?#xff1b;

我們得到的結(jié)果,確真的只是一段html源碼,我們可是希望它能夠顯示一張圖片的;怎么辦呢?

4)我們發(fā)現(xiàn)images/images/1414.jpg這個(gè)地址有些難懂,到底是存在什么位置啊;

雖然是我們親自上傳的,但是真的搞不清楚它存在的位置;因此,我們就自然想著要自己定義一個(gè)專用位置;

vim settings.py

MEDIA_ROOT本身就是一個(gè)全局變量,但是默認(rèn)值是空的,因此我們給自己設(shè)定一個(gè)目錄;

注意,landpack是我的用戶名,你應(yīng)該換成你自己的用戶名字例如,peter等;

檢查一下,你是否創(chuàng)建了這個(gè)目錄哦;

5)我們現(xiàn)在可以再次嘗試測試?yán)?#xff01;我們這次主要上傳一張相片,看他是不是老老實(shí)實(shí)的存到指定位置;

好啦!頁面顯示上傳成功啦!同樣,我們檢查的目錄下面的images目錄下有了一個(gè)1414.jpg文件。我們上傳成功,保存位置符合指定要求;

可是呢?我們的頁面還是沒有顯示我們的圖片;為啦節(jié)省空間,我就截盡量小的圖表示啦;

仔細(xì)觀察你會(huì)發(fā)現(xiàn),src的地址并不是我們的圖片存放的位置,這樣怎么可以顯示圖片呢。

6)因此,我們現(xiàn)在要再次殺回settings.py設(shè)置一個(gè)叫做MEDIA_URL的變量;

現(xiàn)在運(yùn)行服務(wù)器程序,如果你壓根就沒有停止python mange.py runserver那么請(qǐng)刷新一下瀏覽器哈;

還是沒有顯示,這時(shí)候你可能已經(jīng)著急啦!我們先思考一下是不是路徑還是不對(duì)呢?

哈哈,答對(duì)啦!就是路徑不對(duì),你看看這個(gè)可不是我們希望顯示的圖片所在位置;

7)我們看看我們?cè)趍odels.py里面定義的內(nèi)容;

我們發(fā)現(xiàn)錯(cuò)誤的原因是images多余啦!我們現(xiàn)在就把他刪除啦;

改成啦下面的形式,刷新瀏覽器,故障依舊;實(shí)在受不了啦吧;要知道為了解決這個(gè)問題我可是google了三天呢;

我們發(fā)現(xiàn),這個(gè)位置的確是我們MEDIA_URL設(shè)定哪個(gè),圖片名字也對(duì)啦!怎么就不能顯示呢?還記得我們的圖片保存位置嗎?我們需要怎么通過這個(gè)url映射到我們對(duì)應(yīng)的圖片實(shí)際存放位置呢?這時(shí)候我們想到了urls.py文件啦;

8)首先你要知道讓urls知道你將要使用settings.py里面定義的MEDIA_ROOT文件;當(dāng)然 patterns你應(yīng)該知道它的作用啦;

下面就是完成映射動(dòng)作;

9)接下來,刷新瀏覽器,發(fā)現(xiàn)還是不能顯示圖片;實(shí)在受不了啦。我們繼續(xù)觀察;

發(fā)現(xiàn)html語句咱們寫height=40是不是應(yīng)該改成height="40"啊;

可是改完以后還是不行,實(shí)在不行啦只有用最簡單暴力的方法啦!

直接報(bào)地址放到瀏覽器上測試;

第一次測試結(jié)果是這樣的;

很快,我們確定啦原因是端口號(hào)不對(duì)啦,我們使用的是8000,這里得地址沒有體現(xiàn)出來;

第二次測試;

結(jié)果如下;

哈哈,我上傳的圖片有些多啦!不好意思,也是為了直接將來回憶起來能夠更加清晰;

10)現(xiàn)在我們可以邁開腳步往settings.py走去,修改MEDIA_URL的地址加上端口號(hào);

結(jié)果呢?還是沒有顯示出來,這個(gè)問題就是傷腦筋,我之所以有重現(xiàn)這些,是因?yàn)槲覍?shí)在是覺得這個(gè)問題比較棘手,因此記錄下每一步嘗試;

你現(xiàn)在肯定在想一會(huì)是html文件,一會(huì)又是python文件,實(shí)在是受不了啦!咱們到底能不能分開寫;

當(dāng)然可以啦!!

首先,我們使用一個(gè)render_to_string的功能;

打開我們的models.py文件;

那么咱們?cè)趺匆雛ender_to_string 呢?

好啦!現(xiàn)在我們需要的全部是python代碼已經(jīng)寫完,可以放心的去寫html文件啦

11)那么首先需要一個(gè)地方保存html文件,好吧現(xiàn)在咱們是在myapp目錄下;

然后你得進(jìn)入templates再動(dòng)手;

接下來是怎么去寫咱們的html文件啦;

好啦!現(xiàn)在終于可以測試?yán)?#xff1b;

好啦!結(jié)果終于讓我們有高興起來啦!不過你現(xiàn)在肯定再想,為什么剛才的寫法就是無法顯示圖片呢?那得自己去思考思考啦。

最后,不得不得表示歉意,沒有一句可以copy的代碼,全是截圖;

原因有二:

第一,我是在虛擬機(jī)上寫的代碼,在mac上寫的博客,所以無法復(fù)制粘貼代碼;

第二,我們還是自己寫比較記得牢些哈;

總結(jié)

以上是生活随笔為你收集整理的python相册管理系统_Django实现一个相片管理系统01的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。