Python Web開發(fā)案例教程(慕課版)-使用Flask、Tornado、Django全套課件_第1頁
Python Web開發(fā)案例教程(慕課版)-使用Flask、Tornado、Django全套課件_第2頁
Python Web開發(fā)案例教程(慕課版)-使用Flask、Tornado、Django全套課件_第3頁
Python Web開發(fā)案例教程(慕課版)-使用Flask、Tornado、Django全套課件_第4頁
Python Web開發(fā)案例教程(慕課版)-使用Flask、Tornado、Django全套課件_第5頁
已閱讀5頁,還剩245頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第1章Web開發(fā)基礎(chǔ).pptx第2章常用的Web框架.pptx第3章基于Flask的在線學(xué)習(xí)筆記.pptx第4章基于Flask的甜橙音樂網(wǎng).pptx第5章51購商城.pptx第6章e起去旅行.pptx第7章BBS問答社區(qū).pptx第8章智慧校園系統(tǒng).pptxWeb開發(fā)基礎(chǔ)什么是WebWorldWideWeb蒂姆·伯納斯·李Web工作原理發(fā)送請求接受請求Web的發(fā)展歷程發(fā)展階段1.靜態(tài)頁面2.動態(tài)頁面4.Web框架3.Web腳本語言靜態(tài)頁面動態(tài)頁面動態(tài)頁面CGI:CommonGatewayInterface腳本語言腳本語言Web框架Web框架Web框架Web的發(fā)展歷程前端基礎(chǔ)HTMLJavaScriptCSS前端基礎(chǔ)前端HTML簡介

Hyper

Text

Markup

Language

HTML<html></html><p></p><div></div>HTML表單Form標(biāo)簽<form>標(biāo)記的屬性說明name表單的名稱method設(shè)置表單的提交方式,GET或者POST方式action指向處理該表單頁面的URL(相對位置或者絕對位置)enctype設(shè)置表單內(nèi)容的編碼方式target設(shè)置返回信息的顯示方式,target的屬性值包括“_blank”、“_parent”、“_self”、“_top”表單元素CSS簡介CascadingStyleSheets

CSSCSS簡介使用前使用后CSS簡介內(nèi)聯(lián)樣式表外部樣式表內(nèi)部樣式表嵌入CSSJavaScript簡介JavaScriptJavaJavaScript簡介HTML頁面嵌入外部引入js文件嵌入jsTornado框架安裝Tornado第一個Tornado程序importtornado.ioloopimporttornado.webclassMainHandler(tornado.web.RequestHandler):

defget(self):

self.write("HelloWorld!")defmake_app():

returntornado.web.Application([(r"/",MainHandler),

],

)if__name__=="__main__":app=make_app()app.listen(8888)tornado.ioloop.IOLoop.current().start()基本結(jié)構(gòu)導(dǎo)入Tornado的

ioloop和web模塊處理路由請求創(chuàng)建Tornado應(yīng)用,并且設(shè)置路由信息監(jiān)聽端口,啟動服務(wù)路由tornado.web.Application(handlers=None,default_host=None,transforms=None,**settings)tornado.web.Application([(r"/",MainHandler),#設(shè)置路由])設(shè)置路由tornado.web.Application(handlers=[(r'/question/update/(\d+)',QuestionUpdateHandler),#更新問題(r'/question/detail/(\d+)',QuestionDetailHandler),#問題詳情(r'/question/delete/(\d+)',QuestionDeleteHandler),#刪除問題(r'/question/filter/(\w+)',QuestionFilterHandler),#過濾問題(r'/pics/(.*?)$',StaticFileHandler),#靜態(tài)文件])正則匹配HTTP方法模板HTTP方法RequestHandler.get(*args,

**kwargs)RequestHandler.head(*args,

**kwargs)RequestHandler.post(*args,

**kwargs)RequestHandler.delete(*args,

**kwargs)RequestHandler.patch(*args,

**kwargs)RequestHandler.put(*args,

**kwargs)RequestHandler.options(*args,

**kwargs)WorldWideWeb蒂姆·伯納斯·李Web工作原理發(fā)送請求接受請求Web的發(fā)展歷程發(fā)展階段1.靜態(tài)頁面2.動態(tài)頁面4.Web框架3.Web腳本語言靜態(tài)頁面動態(tài)頁面動態(tài)頁面CGI:CommonGatewayInterface腳本語言腳本語言Web框架Web框架Web框架Web的發(fā)展歷程前端基礎(chǔ)HTMLJavaScriptCSS前端基礎(chǔ)前端HTML簡介

Hyper

Text

Markup

Language

HTML<html></html><p></p><div></div>HTML表單Form標(biāo)簽<form>標(biāo)記的屬性說明name表單的名稱method設(shè)置表單的提交方式,GET或者POST方式action指向處理該表單頁面的URL(相對位置或者絕對位置)enctype設(shè)置表單內(nèi)容的編碼方式target設(shè)置返回信息的顯示方式,target的屬性值包括“_blank”、“_parent”、“_self”、“_top”表單元素CSS簡介CascadingStyleSheets

CSSCSS簡介使用前使用后JavaScript簡介JavaScriptJava在線學(xué)習(xí)筆記項目配置使用說明需求分析q

每個用戶可以注冊會員,記錄自己的學(xué)習(xí)筆記。q

完整的會員管理模塊,包括用戶注冊、用戶登錄、和退出登錄等功能。q

完整的筆記管理模塊,包括添加筆記、編輯筆記、刪除筆記等。q

完善的會員權(quán)限管理,只用登錄的用戶才能訪問控制臺,并且管理該用戶的筆記。q

響應(yīng)式布局,用戶在Web

端和移動端都能達(dá)到較好的閱讀體驗。在線學(xué)習(xí)筆記應(yīng)具備具有以下功能:系統(tǒng)設(shè)計系統(tǒng)功能結(jié)構(gòu)系統(tǒng)業(yè)務(wù)流程系統(tǒng)預(yù)覽系統(tǒng)開發(fā)必備開發(fā)工具準(zhǔn)備q

操作系統(tǒng):Windows7及以上/Linux。q

虛擬環(huán)境:virtualenv。q

數(shù)據(jù)庫:PyMySQL驅(qū)動+MySQL。q

開發(fā)工具:PyCharm/SublimeText3等。q

PythonWeb

框架:Flask。q

瀏覽器:Chrome瀏覽器。文件目錄結(jié)構(gòu)技術(shù)準(zhǔn)備PyMySQL模塊PyMySQL安裝PyMySQLpipinstallpymysql命令:PyMySQL連接MySQLPyMySQL基本使用WTForms模塊安裝WTFormspipinstallwtforms命令:FormsFieldsValidatorsWidgetCSRF重要概念基本使用創(chuàng)建表單類驗證表單模板中渲染域數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫概要PyMySQL數(shù)據(jù)表數(shù)據(jù)庫操作類MysqlUtil增刪改查用戶注冊功能實現(xiàn)用戶注冊流程用戶登錄功能實現(xiàn)用戶登錄流程用戶退出功能實現(xiàn)用戶權(quán)限管理功能實現(xiàn)用戶權(quán)限q

“/dashboard”:

控制臺q

“/add_article”:

添加筆記q

“/edit_article”:

編輯筆記q

“/delete_article”:

刪除筆記q

“/logout”:

退出登錄if'logged_in'insession:if'logged_in'insession:if'logged_in'insession:if'logged_in'insession:if'logged_in'insession:裝飾器筆記列表功能實現(xiàn)添加筆記功能實現(xiàn)編輯筆記功能實現(xiàn)刪除筆記功能實現(xiàn)項目配置使用說明甜橙音樂網(wǎng)需求分析甜橙音樂網(wǎng)需要具備如下功能:q

具備用戶管理功能,包括用戶注冊、登錄和退出等功能;q

具備分類的功能,根據(jù)曲風(fēng)、地區(qū)和歌手類型對歌曲進(jìn)行分類;q

具備在線聽音樂的功能,用戶點擊選中的音樂后即可播放該音樂;q

具備排行榜功能,根據(jù)用戶點擊歌曲的播放次數(shù)進(jìn)行排行;q

具備搜索歌曲的功能,用戶可根據(jù)歌曲名稱搜索歌曲。;q

具備收藏歌曲功能,用戶登錄后可以收藏歌曲。收藏完成后,點擊“我的音樂”,可以查看全部收藏的歌曲;q

具備添加歌手的功能,管理員可以添加歌手;q

具備添加歌曲的功能,管理員可以添加歌曲。系統(tǒng)設(shè)計系統(tǒng)功能結(jié)構(gòu)系統(tǒng)業(yè)務(wù)流程系統(tǒng)業(yè)務(wù)流程系統(tǒng)預(yù)覽系統(tǒng)開發(fā)必備開發(fā)工具準(zhǔn)備q

操作系統(tǒng):Windows7及以上/Linux。q

虛擬環(huán)境:virtualenv。q

數(shù)據(jù)庫:PyMySQL驅(qū)動+MySQL。q

開發(fā)工具:PyCharm/SublimeText3等。q

PythonWeb

框架:Flask。q

瀏覽器:Chrome瀏覽器。文件目錄結(jié)構(gòu)技術(shù)準(zhǔn)備jPlayer插件Flask藍(lán)圖(blueprint)創(chuàng)建藍(lán)圖注冊藍(lán)圖數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫概要PyMySQL數(shù)據(jù)表表名含義作用user用戶表用于存儲用戶的信息song歌曲表用于存儲歌曲信息artist歌手表用于存儲歌手信息collect收藏表用于存儲收藏表信息數(shù)據(jù)表模型models類字段屬性Migrate數(shù)據(jù)表4.6

首頁模塊的設(shè)計首頁效果首頁流程排行榜模塊的設(shè)計曲風(fēng)模塊的設(shè)計發(fā)現(xiàn)音樂模塊的設(shè)計歌手模塊的設(shè)計我的音樂設(shè)計51商城需求分析作為一個商城系統(tǒng),為滿足用戶的基本購物需求,本系統(tǒng)應(yīng)該具備以下功能:??具備首頁幻燈片展示功能;??具備首頁商品展示功能,包括展示最新上架商品、展示打折商品和展示熱門商品等功能;??具備商品展示功能,可以用于展示商品的詳細(xì)信息;??具備加入購物車功能,用戶可以將商品添加至購物車;??具備查看購物車,用戶可以查看購物車中的所有商品,可以更改購買商品的數(shù)量,可以清空購物車等;??具備填寫訂單功能,用戶可以填寫地址信息,用于接收商品;??具備提交訂單功能,用戶提交訂單后,顯現(xiàn)支付寶收款碼;??具備查看訂單功能,用戶提交訂單后可以查看訂單詳情;??具備會員管理功能,包括用戶注冊、登錄和注銷等;??具備后臺管理商品功能,包括新增商品、編輯商品和刪除商品和查看商品排行等;??具備后臺管理會員功能,包括查看會員信息等;??具備后臺管理訂單功能,包括查看訂單信息等。系統(tǒng)設(shè)計系統(tǒng)功能結(jié)構(gòu)系統(tǒng)業(yè)務(wù)流程系統(tǒng)預(yù)覽系統(tǒng)開發(fā)必備開發(fā)工具準(zhǔn)備本系統(tǒng)的軟件開發(fā)及運行環(huán)境具體如下。操作系統(tǒng):Windows7及以上/Linux。虛擬環(huán)境:virtualenv。數(shù)據(jù)庫:PyMySQL驅(qū)動+MySQL。開發(fā)工具:PyCharm/SublimeText3等。PythonWeb框架:Flask。瀏覽器:Chrome瀏覽器。文件夾組織結(jié)構(gòu)技術(shù)準(zhǔn)備Flask-SQLAlchemy什么是ORMSQLAlchemyFlask-SQLAlchemy安裝Flask-SQLAlchemypipinstallFlask-SQLAlchemy基本使用1.Integer:整形,映射到數(shù)據(jù)庫中是int類型。2.Float:浮點類型,映射到數(shù)據(jù)庫中是float類型。他占據(jù)的32位。3.Double:雙精度浮點類型,映射到數(shù)據(jù)庫中是double類型,占據(jù)64位。4.String:可變字符類型,映射到數(shù)據(jù)庫中是varchar類型.5.Boolean:布爾類型,映射到數(shù)據(jù)庫中的是tinyint類型。6.DECIMAL:定點類型。是專門為了解決浮點類型精度丟失的問題的。在存儲錢相關(guān)的字段的時候建議大家都使用這個數(shù)據(jù)類型。并且這個類型使用的時候需要傳遞兩個參數(shù),第一個參數(shù)是用來標(biāo)記這個字段總能能存儲多少個數(shù)字,第二個參數(shù)表示小數(shù)點后有多少位。7.Enum:枚舉類型。指定某個字段只能是枚舉中指定的幾個值,不能為其他值。在ORM模型中,使用Enum來作為枚舉8.Date:存儲時間,只能存儲年月日。映射到數(shù)據(jù)庫中是date類型。在Python代碼中,可以使用`datetime.date`來指定9.DateTime:存儲時間,可以存儲年月日時分秒毫秒等。映射到數(shù)據(jù)庫中也是datetime類型。在Python代碼中,可以使用`datetime.datetime`來指定。10.Time:存儲時間,可以存儲時分秒。映射到數(shù)據(jù)庫中也是time類型。在Python代碼中,可以使用`datetime.time`來至此那個。11.Text:存儲長字符串。一般可以存儲6W多個字符。如果超出了這個范圍,可以使用LONGTEXT類型。映射到數(shù)據(jù)庫中就是text類型。12.LONGTEXT:長文本類型,映射到數(shù)據(jù)庫中是longtext類型。定義關(guān)系用戶文章1文章2文章nFlask-MigrateAlembicFlask_Migratedb.create_all()db.drop_all()安裝Flask-MigratepipinstallFlask-Migrate創(chuàng)建遷移環(huán)境使用FLASK_APP

環(huán)境變量定義如何載入應(yīng)用。對于不同的操作系統(tǒng),命令有所不同。flaskdbinitWindows:setFLASK_APP=run.pyUnixBash(Linux、Mac及其他):exportFLASK_APP=run.py數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫概要classDevelopmentConfig(Config):SQLALCHEMY_DATABASE_URI='mysql+pymysql://root:root@:3306/shop'

DEBUG=True數(shù)據(jù)表模型表名含義作用admin管理員表用于存儲管理員用戶信息user用戶表用于存儲用戶的信息goods商品表用于存儲商品信息cart購物車表用于存儲購物車信息orders訂單表用于存儲訂單信息orders_detail訂單明細(xì)表用于存儲訂單明細(xì)信息supercat商品大分類表用于存儲商品大分類信息subcat商品小分類表用于存儲商品小分類信息數(shù)據(jù)表關(guān)系會員注冊模塊設(shè)計會員登錄模塊設(shè)計首頁模塊設(shè)計購物車模塊設(shè)計開始e起去旅行需求分析q

具備首頁展示熱門景區(qū)和熱門地區(qū)的景區(qū)功能;

q

具備景區(qū)查詢功能,可根據(jù)星級和地區(qū)查詢景區(qū);q

具備查看景區(qū)詳情功能,可以查看景區(qū)介紹,包括景區(qū)政策和開放時間等;q

具備用戶管理功能,包括用戶登錄、注冊和退出登錄。q

具備收藏功能,用戶登錄后可以收藏景區(qū)。q

具備查看游記功能,用戶可以在景區(qū)詳情頁查看景區(qū)的所有游記。q

具備意見反饋功能,用戶可以對網(wǎng)站提交建議;q

具備后臺管理功能,管理員可以在后臺管理管理景區(qū),管理地區(qū),管理會員等;q

具備日志管理功能,包括會員登錄日志、管理員登錄日志和管理員操作日志。作為一個景區(qū)資訊的網(wǎng)站,e起去旅行具備以下功能:BBS問答社區(qū)需求分析q

具備用戶授權(quán)功能,包括用戶注冊、登錄、注銷等:q

具備社區(qū)問答功能,包括用戶發(fā)帖提問、顯示問題列表、查看帖子詳情、刪除帖子等功能;q

具備標(biāo)簽系統(tǒng)功能,包括用戶發(fā)帖時創(chuàng)建標(biāo)簽,根據(jù)標(biāo)簽查看相關(guān)帖子等;q

具備回復(fù)系統(tǒng)功能,包括用戶回帖、顯示回復(fù)列表、刪除帖子、查看帖子狀態(tài)等;q

具備回復(fù)狀態(tài)長輪詢功能,用戶回復(fù)的狀態(tài)可以第一時間展示給提問者。q

具備用戶排名功能,根據(jù)用戶的積分進(jìn)行排名。作為一個問答類型的社區(qū),本項目滿足如下需求:系統(tǒng)設(shè)計系統(tǒng)功能結(jié)構(gòu)系統(tǒng)業(yè)務(wù)流程系統(tǒng)預(yù)覽系統(tǒng)開發(fā)必備開發(fā)工具準(zhǔn)備q

操作系統(tǒng):Windows7及以上/Linux;q

虛擬環(huán)境:virtualenv;q

數(shù)據(jù)庫:MySQL;q

MySQL圖形化管理軟件:NavicatforMySQL;q

開發(fā)工具:PyCharm;q

Tornado版本:5.0.2;q

瀏覽器:Chrome瀏覽器。文件夾組織結(jié)構(gòu)技術(shù)準(zhǔn)備Redis數(shù)據(jù)庫短輪詢和長輪詢短輪詢長輪詢長連接WebSocket短輪詢長輪詢數(shù)據(jù)庫設(shè)計數(shù)據(jù)表表名含義作用t_group用戶組表用于存儲用戶組信息t_user用戶表用于存儲用戶信息t_tag標(biāo)簽用于存儲標(biāo)簽信息t_question問題表用于存儲問題信息t_answer答案表用于存儲答案回復(fù)信息數(shù)據(jù)表模型7.6

用戶系統(tǒng)設(shè)計用戶注冊用戶登錄用戶注銷問題模塊設(shè)計答案長輪詢設(shè)計智慧校園考試系統(tǒng)需求分析q

具備用戶管理功能,包括用戶注冊、登錄和退出等功能;q

具備郵件激活功能,用戶注冊完成后,需要登錄郵箱激活;q

具備分類功能,用戶選擇某類知識進(jìn)行答題;q

具備機構(gòu)注冊功能,允許機構(gòu)用戶進(jìn)行注冊,注冊成功后可自主出題;q

具備快速出題功能,機構(gòu)用戶可下載題庫模板,根據(jù)模板創(chuàng)建題目,上傳題庫;q

具備配置考試功能,機構(gòu)用戶可以配置考試信息,如設(shè)置考試題目、時間等內(nèi)容;q

具備答題功能,用戶參與考試后,可以選擇上一題和下一題;q

具備評分功能,用戶答完所有題目后,顯示用戶考試結(jié)果。q

具備排行榜功能,用戶可以通過排行榜,查看考試成績。為實現(xiàn)用戶在線考試答題的需求,智慧校園考試系統(tǒng)需要具備如下功能:系統(tǒng)設(shè)計系統(tǒng)功能結(jié)構(gòu)系統(tǒng)業(yè)務(wù)流程系統(tǒng)預(yù)覽系統(tǒng)開發(fā)必備開發(fā)工具準(zhǔn)備q

操作系統(tǒng):Windows

7及以上或者Linux。q

虛擬環(huán)境:virtualenv或者Anaconda。q

數(shù)據(jù)庫和驅(qū)動:MySQL+PyMySQL、Redis。q

開發(fā)工具:PyCharm。q

開發(fā)框架:Django2.1+Bootstrap+jQuery。q

瀏覽器:Chrome瀏覽器。文件夾組織結(jié)構(gòu)技術(shù)準(zhǔn)備文件上傳<form

method="post"

action=""

enctype="multipart/form-data"

>{%csrf_token%}

<input

type="file"

name="template"

/>

<input

type="submit"

value="提交"/></form>1.創(chuàng)建Form表單上傳Excel文件2.創(chuàng)建視圖函數(shù)上傳Excel文件

def

upload_bank(request):

"""上傳文件"""

template=request.FILES.get('template',None)#獲取模板文件

if

nottemplate:#模板不存在

returnrender(request,'err.html',FileNotFound)

iftemplate.name.split('.')[-1]not

in['xls','xlsx']:#模板格式為xls或者xlsx

returnrender(request,'err.html',FileTypeError)

if

notos.path.exists(settings.BANK_REPO):os.mkdir(settings.BANK_RE

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論