利用Django實(shí)現(xiàn)一個(gè)博客(附全部源碼)

不論什么語(yǔ)言,學(xué)Web開(kāi)發(fā)必做的項(xiàng)目——個(gè)人博客。

本次項(xiàng)目基于Python的知名Web框架Django,從數(shù)據(jù)庫(kù)到視圖邏輯、再到模板語(yǔ)法,完整的走了一遍MTV開(kāi)發(fā)流程。

markdown非常適合寫(xiě)博客、新聞?lì)愇恼?,也快成為了開(kāi)發(fā)者寫(xiě)開(kāi)發(fā)文檔的標(biāo)配了。所以本博客項(xiàng)目的文檔內(nèi)容,數(shù)據(jù)庫(kù)存儲(chǔ)的數(shù)據(jù),也就是markdown格式內(nèi)容,在前端顯示需要轉(zhuǎn)成HTML語(yǔ)法。

開(kāi)發(fā)環(huán)境:Python3.6+pycharm+Django

1:安裝Django

conda install django

python的包管理工具,anaconda的安裝及配置,詳見(jiàn)博客http://www.itdecent.cn/writer#/notebooks/19640626/notes/20743107

IDE工具pycharm的安裝,詳見(jiàn)博客http://www.itdecent.cn/writer#/notebooks/19640626/notes/20767808

2:創(chuàng)建Django項(xiàng)目

創(chuàng)建一個(gè)項(xiàng)目,名稱為blogs

django-admin.exe startproject blogs

3:進(jìn)入項(xiàng)目目錄,啟動(dòng)項(xiàng)目

python manage.py runserver


訪問(wèn)http://127.0.0.1:8000,提示worked,證明正常運(yùn)行

4:生成APP

python manage.py startapp blog

命令執(zhí)行完成后,在工程目錄下會(huì)生成blog目錄

注意:app的名稱不能和項(xiàng)目名稱一樣

5:添加URL路由

在urls.py文件中,編寫(xiě)如下代碼:

6:在settings文件中安裝blog的app


7:新建相關(guān)文件夾

在blog目錄下,新建templates、static兩個(gè)文件夾(文件夾名字千萬(wàn)不能錯(cuò)),templates文件夾中,存放html文件;static文件夾存放資源文件,該文件夾中新建css、img、js三個(gè)文件夾,存放對(duì)應(yīng)的資源文件。利用pycharm在templates文件目錄下新建一個(gè)blog.html的空html文件

6:編寫(xiě)響應(yīng)函數(shù)

安裝markdown,pip install markdown


響應(yīng)函數(shù)如下所示:

7:在數(shù)據(jù)庫(kù)中創(chuàng)建默認(rèn)表格

python manage.py migrate


8:創(chuàng)建超級(jí)管理員的用戶名和密碼

python manage.py createsuperuser,然后逐步設(shè)置用戶名和密碼,密碼至少8個(gè)字符

訪問(wèn)127.0.0.1:8000/admin,輸入設(shè)置好的用戶名和密碼,如下所示:


9:新建博客模型


10:把model轉(zhuǎn)換成中間件

python manage.py makemigrations


11:生成數(shù)據(jù)庫(kù)表


12:在admin.py文件中注冊(cè)數(shù)據(jù)庫(kù)表,使其在管理頁(yè)面中顯示


13:增加數(shù)據(jù)


文章中有圖片的格式為:![cq](http://upload-images.jianshu.io/upload_images/2206395-a0091019c6ea94ef.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/536)

14:在前端頁(yè)面調(diào)研后臺(tái)數(shù)據(jù)顯示


15:運(yùn)行效果如下


完整代碼下載地址:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容