用Django + wordpress快速搭建一個自己喜歡的個人站點

本渣渣不專注技術,只專注使用技術,不是一個資深的coder,是一個不折不扣的copier

一、自述

本渣渣不專注技術,只專注使用技術,不是一個資深的coder,是一個不折不扣的copier

自學 Python,始於 Django 框架,Scrapy 框架,elasticsearch搜索引擎,最初的目的是畢業設計需求,畢設項目是做一個類似百度的搜索引擎後被導師pass掉,後又跟着 bobby 老師的 Python升級3.6 強力Django+殺手級Xadmin打造在線教育平臺教程做了一個網站,需要視頻教程的私聊。從2018年二月份畢設課題確定,是我學習Python的開始,到2018年5月份畢設完成,並不是我學習Python的結束。目前仍然從事Python開發工作。是時候通過一個項目來記錄一下自己的學習成果了。既然學習了django web框架,那很自然的就是想到要搭建一個網站了,最常見的個人網站自然就是個人博客。

跟着 bobby老師課程做的畢設:Python升級3.6 強力Django+殺手級Xadmin打造在線教育平臺

二、爲什麼要搭建個人站點

爲什麼我想搭建一個屬於自己的個人站點推薦閱讀:生活筆錄 | 碼農的危機感

網上有現成的博客框架,比如 Hexo、Wordpress,直接按照他們的文檔安裝顯然達不到 Django 練習的目的,也起不到彰顯逼格的效果。開始沒有什麼頭緒,因爲搭建一個網站對於我而言,難點應該是前端:JS、Jquery、CSS、HTML、AJAX,頭疼的應該是CSS。後來在學習Python爬蟲時,經常逛崔慶才個人站點。看着崔大的博客整的還挺炫酷,激發了我當初想建一個個人站點的激情,開始也想像崔大那樣用 Wordpress搭建,但是這樣侷限性太大,如果我需要改動一些頁面適應我自己的需求,這需要懂 PHP,不懂沒辦法給它動刀,不符合我放蕩不羈的性格,就是想有一個自己可以隨意擺弄的個人站點。

三、思考

需求:有一個可以自己隨意擺弄的站點,

現有技術:Django後端開發

侷限:前端——Jquery、CSS、HTML、AJAX,一直認爲前端是苦力乾的活,不想深入學習

怎麼辦?

方案一:

使用: Bootstrap自己設計頁面,但是問題是這樣設計出的頁面,是不需要寫CSS了,不過怎麼纔能有崔大博客的炫酷特效呢?這可能需要大量的 JQuery,難道要自己去寫,那不可能吧!不現實,放棄

方案二:

請搞前端的同事給寫一個,這個涉及——人情、時間、溝通,也太費勁,放棄

方案三:

此時對 Wordpress做了一下簡單背調,發現 Wordpress 竟然是一個那麼龐大的社區。

WordPress 是使用 PHP 語言開發的博客平臺,而且還有大量的頁面主題,

那麼後臺和主題應該相對獨立,主題應該全部使用 JQuery + H5 + CSS開發,PHP只負責渲染數據,後來簡單研究了一個 Wordpress 框架發現還真是這樣

那麼我就在想這個它用PHP做而且擴展性這麼強爲什麼不能用 Dajngo 來開發後臺呢?

Django 有這麼強大的 Templates 模板功能,模板語法就很像 PHP 一樣在 HTML 頁面寫代碼

就這樣我的靈感來了,毅然決定使用 Django 來開發後臺,把崔大的站點主題copy下來。

對於後端開發人員來說,扒取一個全棧前端源碼應該是一個必備技能

四、目標

思考:

既然要做這件事,就不能我一個人獨享,應該有很多想擁有自己站點的小夥伴,都被前端知識勸退了

目標:

1、深入的學習 Django 知識
2、研究出一個 Django 和前端輕鬆對接的方法
3、製作一套教程
4、學習SEO知識

總結:

製作、後期維護應該都會耗費很多時間,那麼不能只輸出不考慮回報,如果沒有回報,這個教程可能無法持續升級
所以要學習一些SEO知識

五、製作

作爲一個資深的 Copier,後臺應該不會選擇一行行的碼出來,造輪子是 Coder 的事。

然後就找到了一個寫的很不錯的個人站源碼 TendCode、結合崔慶才個人博客前端源碼,齊活

這裏學到的不應該是隻是仿製崔大個人站點,我是比較喜歡崔大首頁的設計所以選擇崔大的。

如果在別處看到自己喜歡的 Wordpress 主題,都是可以用的,因爲原理都一樣

搭建完成的個人站點:靜覓 | StormSha的個人博客

前端源碼託管在GitHub:HTML

項目的完整代碼託管Github:Github

教程目錄

Django個人博客開發 | 前言

Django個人博客開發一 | 抓取網站源碼

Django個人博客開發二 | 配置開發環境

Django個人博客開發三 | 創建虛擬環境

Django個人博客開發四 | 創建博客項目

Django個人博客開發五 | 創建第一個APP

Django個人博客開發六 | 數據庫結構設計

Django個人博客開發七 | 通過admin管理後臺

Django個人博客開發八 | 博客首頁開發一

Django個人博客開發九 | 整理項目結構

Django個人博客開發十 | 博客首頁開發二

Django個人博客開發十一 | 博客首頁開發三

Django個人博客開發十二 | 博客詳情頁面

Django個人博客開發十三 | 註冊登錄

Django個人博客開發十四 | 評論區

Django個人博客開發十五 | 網站地圖

Django個人博客開發十六 | Haystack 全文搜索

Django個人博客開發十七 | 功能完善

Django個人博客開發十八 | RESTful API接口

Django個人博客開發十九 | RSS訂閱

六、功能

①Django 自帶的後臺管理系統,方便對於文章、用戶及其他動態內容的管理

②文章分類、標籤、瀏覽量統計以及規範的 SEO 設置

③用戶註冊登錄

④文章評論系統,支持 markdown 語法,二級評論結構和回覆功能

⑤強大的全文搜索功能,只需要輸入關鍵詞就能展現全站與之關聯的文章

⑥RSS 博客訂閱功能及規範的 Sitemap 網站地圖

⑦RESTful API 風格的 API 接口

⑧炫酷的支持Markdown語法的評論區

⑨及時的消息通知

七、總結

初學 Django 時學習資源一大把,多的就像書架上的書,有些根本連目錄都沒看過,即使有的看了腦子中沒有一個項目概念,苦惱無比。

自學一般是這麼個流程: 視頻 -> 網絡教程 -> 讀書

初學看視頻、會點基礎後根據需求做點東西卡殼時Google網絡教程、進階需要看書

視頻基本都是:天天生鮮、個人博客等

網絡教程:菜鳥|學Python廖雪峯自學堂

看書就很隨意了,我是沒看過書,不知道有什麼比較好的書

其實在自學過程中使用最多的應該是:百度、Google

基本是遇到問題就是搜索,搜索到的文章基本都是隻言片語,有的甚至千篇一律,解決問題的效率極低

這個系列打算將自己從個人博客的構思、開發、部署整個階段詳細記錄下來,

這是第一版,雖然細節不到位,但是還算完整,如果在閱讀中發現有表達錯誤,或者知識點錯誤,或者搞不懂的地方,請及時留言,可以在評論區互相幫助,讓後來者少走彎路是我的初衷。我也是一步步摸着石頭走過來的,深知網絡上隻言片語的圖文教程,給初學者帶來的深深困擾。歡迎在評論區指出錯誤,豐富此教程讓更多人少走彎路。
我也會不斷升級這個教程

八、展望

把我的個人站點使用 Django Rest Framework + vue.js 進行升級改造,所以現在,有時間也在學習 vue.js

Vue + ElementUI + Webpack + VueRouter

發現 VUE 也有像 Bootstrap一樣好用的 ElementUI,感覺比 Bootstrap 還牛逼

———————————————————————————————————————————

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