




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
實驗四web.pyweb框架web.py簡單搜索引擎Web框架Web開發(fā)前端網(wǎng)頁后端數(shù)據(jù)庫Query&Request框架,即framework。其實就是某種應(yīng)用的半成品,把不同應(yīng)用程序中有共性的一些東西抽取出來,做成一個半成品程序,這樣的半成品就是所謂的程序框架。好處:減少重復(fù)開發(fā)工作量、縮短開發(fā)時間、降低開發(fā)成本。同時還有其它的好處,如:使程序設(shè)計更合理、程序運行更穩(wěn)定等。J2EE(Java),ASP.NET(C#),RubyonRails(Ruby),Mojolicious(Perl),…Web框架——Python重量級Zope中量級DjangoQuixote輕量級PylonsTurboGears迷你級Tornadoweb.pyBottle&Flask其他web2py、uliweb、Karrigell、Werkzeug…web.py最簡單的web開發(fā)框架之一簡單示例程序web.py——安裝在下載web.py-0.37.tar.gz安裝或在cmd中運行
easy_installweb.py在IDLE中輸入>>importweb如果沒有報錯,則安裝成功。web.py——例程對于一個站點來說,URL的組織是最重要的一個部分,因為這是用戶看得到的部分,而且直接影響到站點是如何工作的,在著名的站點如:del.icio.us,其URLs甚至是網(wǎng)頁界面的一部分。而web.py以簡單的方式就能夠構(gòu)造出一個強(qiáng)大的URLs。在每個web.py應(yīng)用,必須先importweb模塊:>>importwebURL組織>>urls=('/','index')第一部分(’/’)是一個匹配URL的正則表達(dá)式,像/,/help/faq,/item/(\d+),等等;第二部分(’index’)是一個類名,匹配的請求將會被發(fā)送過去。web.py——例程(續(xù))用戶通過URLs(例如/或者/foo?f=1)來請求web服務(wù)器完成一定請求(例如GET或者POST)。GET是最普遍的方法,用來請求一個頁面。當(dāng)我們在瀏覽器里輸入“”的時候,實際上它是向Web服務(wù)器請求GET”/“。另一個常見的方法是POST,常用于提交特定類型的表單,例如利用信用卡付費和處理一個訂單。Index類>>classindex:
>>defGET(self):
>>print"Hello,world!“當(dāng)接收到一個GET請求時,上面的GET方法將會被web.py調(diào)用。啟動網(wǎng)頁應(yīng)用>>if__name__=="__main__":>>app=web.application(urls,globals())>>app.run()上面告訴web.py如何配置URLs,以及找尋的類在文件中的全局命名空間。一個完整的web.py應(yīng)用完成,保存為code.pyweb.py——調(diào)用在命令行輸入$pythoncode.py或IDLE下打開code.py并運行下一行會顯示
Launchingserver:你的web.py應(yīng)用已經(jīng)啟動了服務(wù)器。通過瀏覽器訪問,會見到”Hello,world!”。在啟動服務(wù)器的時候,你可以在pythoncode.py后面添加IP地址/端口來控制web.py啟動的服務(wù)器。例如:pythoncode.py8888。IDLE運行code.py后,*PythonShell*顯示:打開瀏覽器,在地址欄輸入:,*PythonShell*顯示:web.py——模板在Python里面編寫HTML代碼是相當(dāng)累贅的,而在HTML里嵌入Python代碼則有趣得多。幸運地,web.py使這過程變得相當(dāng)容易。在我們的web應(yīng)用里(存放code.py的文件夾),添加一個新的文件夾用來組織模板文件(例如”/templates“)。然后再新建一個HTML文件(例如:”index.html”):在index.html中輸入(注意縮進(jìn)):$defwith(name)
$ifname:
Ijustwantedtosay<em>hello</em>to$name.
$else:
<em>Hello</em>,world!模板看上去跟這Python文件很相似,以defwith語句開始,但在關(guān)鍵字前需要添加”$“。關(guān)于模板的更多內(nèi)容:web.py——模板(續(xù))回到code.py文件,在”importweb”的下一行添加:>>render=web.template.render('templates/')這告訴web.py在哪里可以搜索得到模板目錄。提示:可在render調(diào)用里添加cache=False使得每次訪問頁面時都重載模板。下面繼續(xù)修改code.py文件的GET方法:>>defGET(self,name):
>>returnrender.index(name)上面的”index“是模板的名字(對應(yīng)html文件的名字),”name“是傳遞過去的參數(shù)。修改code.py文件的urls變量:>>urls=('/(.*)','index')上面的“/(.*)”是一個正則表達(dá)式?,F(xiàn)在,訪問”/“的話,會顯示”Hello,world!“;訪問”/Joe“的話,會顯示”IjustwanttosayhellotoJoe“。web.py——模板(續(xù))web.py——表單web.py的form模塊可進(jìn)行建立html表單,得到用戶輸入,驗證、導(dǎo)入數(shù)據(jù)庫等操作。Form模塊為2個類:Formclass和InputclassInputclass下屬子類包括:Textbox,Password,Textarea,Dropdown,Radio,Checkbox,Button例子:>>login=form.Form(>>form.Textbox('username'),>>form.Password('password'),>>form.Button('Login'),>>)調(diào)用:>>f=login()>>printf.render()顯示:更多參考:練習(xí)1.使用web.py,結(jié)合前面學(xué)習(xí)的HTML,Lucene,中文分詞等知識點,根據(jù)上次實驗爬取的網(wǎng)頁,建立一個簡單的搜索引擎。搜索界面:結(jié)果界面:練習(xí)結(jié)果要求:標(biāo)題超鏈接關(guān)鍵詞上下文網(wǎng)址練習(xí)使用web.py建立web開發(fā)框架提示:搜索界面和結(jié)果界面兩部分,可建立兩個類,如:urls=('/','index','/s','s')其中,根目錄(:8080)生成搜索框,由index類處理;得到用戶輸入后則由s類處理。表單示例:login=form.Form(form.Textbox('keyword'),form.Button('Search'),)練習(xí)Index類和s類示例:classindex:defGET(self):f=login()returnrender.formtest(f)classs:defGET(self):user_data=web.input()a=func(user_data.keyword)returnrender.result(a)其中,formtest為顯示表單的模板文件,result為顯示搜索結(jié)果的模板文件。func函數(shù)中使用Lucene進(jìn)行搜索過程并得到結(jié)果。練習(xí)Lucene中,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB3709T 038-2025泰山茶 山地低產(chǎn)茶園提升改造技術(shù)規(guī)程
- 海南九樂再生資源回收與利用有限公司水穩(wěn)站項目環(huán)評報告表
- 項目資金評分表
- 海航技術(shù)附件維修事業(yè)部??趶?fù)材車間新租賃廠房及APU新試車臺項目環(huán)評報告表
- 店鋪硅酸鈣板施工方案
- 隔墻板做磚胎膜的施工方案
- 福建省泉州市2025屆高中畢業(yè)班質(zhì)量監(jiān)測 (三)物理試題(含答案)
- 地板磚鋪設(shè)施工方案
- 2024-2025學(xué)年下學(xué)期高二語文第三單元A卷
- 數(shù)控加工工藝與編程技術(shù)基礎(chǔ) 教案 模塊一 任務(wù)2 初識數(shù)控加工工藝
- 詐騙案件授課PPT課件
- 基于PLC的電梯控制系統(tǒng)設(shè)計
- 口腔科急救預(yù)案培訓(xùn)課件
- 弗洛姆異化理論
- 園林噴灌工程施工方案(精編版)
- 碳納米管_ppt課件
- 【課件】第2課如何鑒賞美術(shù)作品課件-高中美術(shù)人教版(2019)美術(shù)鑒賞
- [康熙字典9畫五行屬金的字加解釋] 康熙字典五行屬金的字
- 托盤操作評分表
- 關(guān)于老年癡呆癥及其智能陪護(hù)設(shè)備的調(diào)查報告
- 椴木靈芝栽培技術(shù)
評論
0/150
提交評論