關於django web示例:photo gallery的思路

這篇文章是對django web中photo gallery的實現思路的總結,理解別人的思路,對自己以後要實現會有很大的幫助。


不管你在設計網站還是做任何事情,思路很重要,比如從哪裏到哪裏怎麼連接,下面說一下photo gallery這個例子的思路。

首先功能上主要顯示主頁,顯示圖片夾列表,圖片夾裏面圖片的列表,和顯示具體的圖片內容,共四層。

對應到數據庫的設計上就是要有一個photo的表還有一個圖片夾的表,這已經能夠滿足上述四層的顯示的要求了,除了顯示之外,那接下來一個重要的事情是編輯要顯示的內容,雖然這一部分的思路是在顯示之後,但是在寫代碼的時候,這一部分是要先實現的,這也是做一件事情的一般流程,當還在準備計劃的時候,先想個大概,我要做什麼,然後再細想一步步怎麼做,是由表到裏。反過來等到你要去做這個事情等時候就是不一樣的流程了,先把一個個細節做好,然後再搭到一起就是一個完整的計劃的實現了。回到編輯功能上,django admin提供了很好的架構,我們只要把model在admin中註冊一下就可以,至於更詳細的在admin中的顯示的方式,一樣可以在註冊的時候一併指定,另外還有一個,圖片要特別處理,因爲圖片本身放到數據庫裏面可能不是很合適的,並且圖片的上傳修改涉及到的協議處理也蠻煩,django也考慮到了這個問題,提供了Image Field封裝,這個很好用,你只要指定一下要放的文件夾的位置,其他的就當作一個普通的數據庫的一項就行了。就這樣我們就可以修改要顯示的內容了。出於效率的考慮在顯示對時候我們可能要用到圖片的thumbnail,對圖片的thumb的切割在python中可以做到,因爲thumb和圖片本身是相輔相成的,所以我們對image field繼承封裝,順帶把thumb處理了,這樣就完美了。


接在上面的部分,下面就是到了顯示具體代碼實現過程了,實現就是對django的url view model template串聯的一個過程,這裏面url是核心,因爲所有的連接都要通過它來實現,所以我們先定義url,考慮到四層的顯示,url也該有四層,這裏的頁面都很簡單,直接用django提供的 generic view就可以滿足了,不需要自己去寫view,在用generic view時候要注意把model都sqlquery送進去,在下面就是template了,django提供了很強大的template架構,這裏我麼希望所有頁面都有一樣的分格,所有我們先定義個base的template,然後所有的其他的template都會從這個繼承下來,在寫template的時候要處理好,送進來的參數,對於model view template 之類的設計和完成要一體進行,沒有所謂的嚴格的先後次序。


最後寫一下對django的感受,理解起來不是很困難,但是細節極其多,你從URLcof提供的各種樣式各種方便中就可以體會到django的細節是多麼的多,但是反過來講你瞭解得越細開發時候得到的方便也會越多。要完整的掌握一定要深入到細節裏面去。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章