編譯環(huán)境:python v3.5.0, mac osx 10.11.4
<big>python爬蟲(chóng)基礎(chǔ)知識(shí): Python爬蟲(chóng)學(xué)習(xí)-基礎(chǔ)爬取</big>
<big>python爬蟲(chóng)進(jìn)階知識(shí): Python爬蟲(chóng)學(xué)習(xí)-爬取大規(guī)模數(shù)據(jù)</big>
<big>python爬蟲(chóng)信息處理: Python爬蟲(chóng)學(xué)習(xí)-大數(shù)據(jù)統(tǒng)計(jì)分析(基礎(chǔ))</big>
了解Django web框架
Django安裝
pip3 install django-
Django的MTV模型
model(M):控制信息存儲(chǔ)結(jié)構(gòu)-數(shù)據(jù)庫(kù)
template(T):UI框架筛严,用戶可視界面
views(V):連接model層與template的層,通過(guò)訪問(wèn)信息可以通過(guò)訪問(wèn)model層調(diào)配信息填充到template層撵儿,完成最終可視化頁(yè)面(web頁(yè)面)展示调鲸。
項(xiàng)目接受用戶請(qǐng)求(request)赤套,首先通過(guò)views識(shí)別請(qǐng)求信息官卡,之后從models層利用models層包含的方法提取數(shù)據(jù)枚粘,填充到template層中的對(duì)應(yīng)位置户敬,最后返回(response)給用戶唉擂。
-
Django項(xiàng)目創(chuàng)建
利用Pycharm創(chuàng)建:
命令行創(chuàng)建見(jiàn):創(chuàng)建指南
創(chuàng)建完成后會(huì)出現(xiàn)Django項(xiàng)目開(kāi)發(fā)的基本結(jié)構(gòu):
-
創(chuàng)建站點(diǎn)厂捞,即創(chuàng)建Django web框架的MTV模型
終端輸入:
python3 manage.py startpap name
-
運(yùn)行站點(diǎn)
首先输玷,我們要把我們的站點(diǎn)名稱加入在我們之前創(chuàng)建的django項(xiàng)目的settings.py文件中的INSTALLED_APPS中队丝。
python3 manage.py runserver # 運(yùn)行Django站點(diǎn)
利用Django web搭建簡(jiǎn)單的靜態(tài)頁(yè)面
-
目標(biāo)效果:
- 頁(yè)面html與css文件下載:Github
- 操作流程:
- 我們首先通過(guò)上述創(chuàng)建流程創(chuàng)建一個(gè)叫Django_learning的項(xiàng)目,再在該項(xiàng)目下創(chuàng)建django_web的站點(diǎn)貌虾。
- 我們將下載下來(lái)的html文件放入django_web站點(diǎn)的template中吞加,將css、img等與樣式相關(guān)的文件打包放入static文件夾中尽狠。
-
首先衔憨,我們要在views層編譯頁(yè)面調(diào)配函數(shù)。
此函數(shù)可以根據(jù)request(請(qǐng)求)通過(guò)render渲染函數(shù)將我們編譯好的html文件(index.html)返回給瀏覽器袄膏,即用戶瀏覽時(shí)的頁(yè)面践图。
-
之后我們要在url文件中給我們新建的html文件分配地址。
通過(guò)引入views中的pure_index(我們上述編輯的返回函數(shù))沉馆,url給此函數(shù)分配了一個(gè)以index/結(jié)尾的地址码党。即:當(dāng)我們輸入xxxindex/時(shí),瀏覽器會(huì)通過(guò)pure_index函數(shù)獲得頁(yè)面斥黑。
-
配置css樣式文件地址揖盘。我們?nèi)糁苯舆\(yùn)行站點(diǎn)會(huì)出現(xiàn)如下頁(yè)面:
我們發(fā)現(xiàn)上述頁(yè)面的css樣式文件沒(méi)有導(dǎo)入,因此我們首先要在setting.py文件中表明static樣式文件的地址锌奴。
通過(guò)上述操作兽狭,我們就可以獲得正常加載的web頁(yè)面了。
-
使用render函數(shù)鹿蜀,往html文件中填充內(nèi)容箕慧。
我們可以通過(guò)編輯context的內(nèi)容,向html中傳入信息茴恰。如:
web原始界面:
經(jīng)過(guò)上述修改后往枣,我們可以呈現(xiàn)我們想要的信息:
利用Django web搭建簡(jiǎn)單的動(dòng)態(tài)頁(yè)面(具有分頁(yè)功能)
-
目標(biāo)效果:
- 具體操作
-
在setting.py文件中利用**第三方庫(kù)mongoengine **連接我們所需的數(shù)據(jù)庫(kù)(即:之前爬取的數(shù)據(jù))
-
構(gòu)建Django的model層伐庭,即編輯models.py文件。通過(guò)繼承Document類婉商,將數(shù)據(jù)庫(kù)的底層操作轉(zhuǎn)化為更加python化的操作似忧。
-
將數(shù)據(jù)操作導(dǎo)入views.py丈秩,利用render函數(shù)填充到html文件中盯捌。
同時(shí)我在可以在html中使用for循環(huán)來(lái)自動(dòng)生成網(wǎng)頁(yè)元素。
- 增加分頁(yè)功能蘑秽,Django中的Paginator函數(shù)實(shí)現(xiàn)饺著。Paginator的基本使用:
最終效果:
All source code can be downloaded at GitHub: Jacobkam