1. 程式人生 > >牛客網論壇開發專案

牛客網論壇開發專案

     隨著現代網際網路的發展,各種大型網際網路網站陸續誕生。各種程式語言也相繼熱門起來,本人作為一個大學期間就學習程式設計的新生程式設計師,在校期間,接觸到了近幾年十分火熱的Python開發語言,並學習堅持使用。去年在武漢一建公司實習半年,親身編寫過數個web網站後端專案。相信大家對網站的構建肯定有濃厚的興趣,最近一段時間,本人整理了幾個實習期間的網站開發專案(都是乾貨哦~),陸續分享給大家!大笑

    專案名稱如題。

1.首先推薦給大家一個http://dormousehole.readthedocs.io/en/latest/  ,沒錯,這就是本專案所要用到的嘴核心的框架Flask官網。可供大家以後學習繼續使用。

 網站開發編譯器,本人用的是pycharm。最適合用python開發的編譯器,賊好用,安裝flask很簡單一行程式碼pip install flask就可以了。

2.一個網站專案開發需要清楚他的大概流程。簡單的給大家介紹一下專案中各個模組的作用。


這些就是一個網站的基本開發功能模組和各模組所負責的功能。下面開始正式進入本人的開發階段!

3.首先把基礎的功能模組的py檔案建好。

然後在runserver檔案裡寫好本地的執行程式碼。對沒看錯,就這幾句!當然不要高興太早。這才剛剛開始。


接下來 我們進入model層,定義網站使用者的基本資訊。在此我們定義的是一個使用者的基本資訊。其中有使用者名稱,登入密碼,加密,頭像地址,頭像圖片資訊,當時開發使用者頭像時,本人使用的是線上生成頭像網站,各位可以自由定義頭像。(前三行是本人這個模組需要用到的第三方庫,各位編譯器上如果沒有自帶的話,安裝方式如同flask 直接pip就好。)


使用者定義完之後,每個使用者都會有自己在網站的行為,例如下面這兩個。上傳圖片和圖片評論功能,本人在這裡就一起寫了。這三個模組就有點難度了,看似簡單,不過每個模組的關聯資訊比較多,每個使用者所需要的屬性,品論,圖片的屬性都得考慮到並且加入進去,免得會發生使用者功能缺失,相關圖片,資料介面資源接收不到。



有了使用者資訊,圖片和評論功能,我們得把這些資料存入資料庫內。以免使用者資訊丟失,和過濾,清除非法圖片的上傳,並且方便使用者登出賬號,資料庫直接清除使用者相關的一切資訊。


同時在conf模組配置好本機資料庫環境,將資料存入(前5行程式碼 )。


下面我們執行程式,開啟資料庫,看看我們存進去了什麼。



可見我們使用者,線上生成的圖片等資訊已經成功的傳入了我們本地的資料庫!

這段工作結束的同時,我們千萬別忘了一件事,檔案配置結束,我們得發匯出檔案,直觀地看到它。並且將後端資料庫裡儲存的檔案匯入接下來需要的view檢視層。這些工作需要在init檔案裡完成,不知道各位小夥伴忘了沒有。下面附上原始碼截圖。


下面。重頭戲開始!

4.網站的各種功能,檢視view的功能實現與登入密碼加密,圖片格式限制,非法評論,字眼的遮蔽等。

首先我們把前端檔案的程式碼拉進來,(我是個人寫好的,直接拖進專案中進行使用就可以。)簡單的介紹一下一個網站需要的登入頁面,和使用者所需要的操作頁面。(前端原始碼太長,我就不全部寫上了。關鍵是......我們寫的是後端啊...)

接下來我們從後端的模組裡去給前端提供功能介面,並且加入必須的功能限制。

5.作為一個網路論壇分享網站,我們在敲程式碼之前必須考慮一下這類網站最基本的功能網頁需求。例如:使用者登入,圖片上傳、下載,評論,評論查詢,使用者退出,使用者修改密碼,圖片更改,刪帖,評論合法性的判斷,圖片查詢,頁面分頁和訪問等等等等.....N多頁面功能模組。今天我在這裡列舉十來種常見的功能頁面需求怎麼寫,剩下的各位在開發中肯定會遇到,然後自己去研究琢磨,當然遇見過會寫更好。

首先,每個使用者都需要註冊登入,也就是Login頁面。Login可以設定包含使用者名稱,密碼輸入兩個模組,我們再讓使用者輸入密碼的同時,設定好密碼不能為空,使用者名稱不能為空等,提醒使用者避免輸錯,漏輸。


使用者註冊登入同時,我們好要考慮到使用者名稱重複,和密碼長度等基本限制。我們可以這樣寫。提示使用者名稱已存在,並退出到原始的註冊登入頁面。


然後我們使用Ajax進行密碼,圖面,使用者名稱加密長度限制,上傳圖片格式限制,非法評論不允許釋出,不文明字眼不準釋出,避免被盜號,非本人操作對評論內容的胡亂修改。



接下來,每個評論 ,圖片,使用者,這三者都是相互對應的,每個使用者對印一個或者多個圖片或者評論。這三者是獨立的個體,也相互有關聯,我們在編寫時不能忘了這三個模組之間的關聯。以避免頁面跳轉出錯或內容丟失。



到這,小夥伴們可以從頭整理一下思路了,5  6百行程式碼下來,新手應該已經開始暈了,沒關係,剛開始我也暈,再重頭看看,順一下思路。

三者關係整理好之後,就到了圖片下載,使用者退出功能。



好的,到這裡,一個網站專案已經做得差不多了,當然,這只是我當時做得一部分,完整的幾萬行程式碼,算機密,我也沒辦法全部介紹給大家,偷笑。這時候別以為結束了。作為一個合格的程式設計師,並不是專案結束了,還有資料備份!!!!!!一定要記住,本人不僅在資料庫裡存了必要的資料,還準們申請了一個七牛雲盤,用來存放資料,以免電腦出問題,或者操作不當,資料丟失,資料沒了。一個專案網站,基本就等於沒了,所有工作幾乎白做,所以建議各位也申請一個。並且加入自己資料庫模組裡!!!程式碼我也分享給大家,不謝。


好了,這是我這一個月整理的第一個專案,也是第一篇文章,接下來,我會陸續更新,發表python中常見的問題,和一些我自己做的專案,希望對大家有所幫助!!!程式碼中我也加入了不少註釋,如果還有小夥伴看不懂,那就得自己多修煉了。人生苦短,我用python。大笑大笑