亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Python語(yǔ)言及Flask框架快速開(kāi)發(fā)網(wǎng)站的研究

        2019-01-18 01:35:34馬繼昌李建兵劉玉冬遼寧科技大學(xué)國(guó)際金融與銀行學(xué)院
        數(shù)碼世界 2018年12期
        關(guān)鍵詞:表單視圖應(yīng)用程序

        馬繼昌 李建兵 劉玉冬 遼寧科技大學(xué)國(guó)際金融與銀行學(xué)院

        1. Python語(yǔ)言簡(jiǎn)介

        Python語(yǔ)言是誕生于1989年的一門(mén)高級(jí)編程語(yǔ)言,由于其編寫(xiě)的腳本程序簡(jiǎn)單易懂,語(yǔ)法易于理解,使得初學(xué)者入門(mén)容易,而且深入學(xué)習(xí)下去,可以編寫(xiě)出復(fù)雜的程序,因此越來(lái)越受到人們的歡迎,近來(lái)更是一直處于TIOBE編程語(yǔ)言排行榜前三名的位置。

        Python語(yǔ)言憑借易于維護(hù)、擴(kuò)展庫(kù)豐富、跨平臺(tái)、可移植,并能夠支持主流商業(yè)數(shù)據(jù)庫(kù)、以及GUI編程及可嵌入的特點(diǎn),廣泛應(yīng)用在web開(kāi)發(fā)、數(shù)據(jù)分析、游戲開(kāi)發(fā)、系統(tǒng)運(yùn)維、人工智能、物聯(lián)網(wǎng)等行業(yè)中。

        2. python Web編程及網(wǎng)站建設(shè)

        2.1 輕量級(jí)Web框架Flask

        WEB編程技術(shù)主要用于進(jìn)行網(wǎng)站建設(shè),很多網(wǎng)站使用Python語(yǔ)言進(jìn)行開(kāi)發(fā)。Python作為一門(mén)通用的編程語(yǔ)言,同樣適合于WEB開(kāi)發(fā)領(lǐng)域。在使用Python開(kāi)發(fā)WEB項(xiàng)目時(shí),可以有多種Web框架進(jìn)行選擇,如Django、Flask、Tornado等,其中Flask是用 Python 編寫(xiě)的輕量級(jí)WEB應(yīng)用框架,它其實(shí)是 協(xié)助開(kāi)發(fā)者快速開(kāi)發(fā)Web應(yīng)用程序的一套功能代碼。Flask自開(kāi)發(fā)伊始就被設(shè) 計(jì)為可擴(kuò)展的框架,它具有一個(gè)包含基本服務(wù)的強(qiáng)健核心,其他功能則可通過(guò)擴(kuò)展實(shí)現(xiàn)。Flask WSGI 組件采用 Werkzeug,模板渲染引擎采用Jinja2。Flask框架的核心是路由模塊werkzeug及模板引擎 Jinja2,F(xiàn)lask常用的擴(kuò)展包有操作數(shù)據(jù)庫(kù)的Flask-SQLalchemy,用于插入腳本的Flask-script,管理遷移數(shù)據(jù)庫(kù)的Flask-migrate以及Session存儲(chǔ)方式指定的Flask-Session。

        2.2 MVC模式

        MVC 是一種使用 MVC(Model View Controller 模型-視圖-控制器)設(shè)計(jì)創(chuàng)建 Web 應(yīng)用程序的模式:

        Model(模型)是應(yīng)用程序中用于處理應(yīng)用程序數(shù)據(jù)邏輯的部分,通常模型對(duì)象負(fù)責(zé)在數(shù)據(jù)庫(kù)中存取數(shù)據(jù)。View(視圖)是應(yīng)用程序中處理數(shù)據(jù)顯示的部分,通常視圖是依據(jù)模型數(shù)據(jù)創(chuàng)建的。Controller(控制器)是應(yīng)用程序中處理用戶(hù)交互的部分,負(fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶(hù)輸入,并向模型發(fā)送數(shù)據(jù)。MVC 分層有助于管理復(fù)雜的應(yīng)用程序,是程序員在一個(gè)時(shí)間內(nèi)專(zhuān)門(mén)關(guān)注一個(gè)方面,同時(shí)也讓?xiě)?yīng)用程序的測(cè)試更加容易。MVC 分層同時(shí)也簡(jiǎn)化了分組開(kāi)發(fā)。不同的開(kāi)發(fā)人員可同時(shí)開(kāi)發(fā)視圖、控制器邏輯和業(yè)務(wù)邏輯。

        3. 應(yīng)用Flask框架設(shè)計(jì)網(wǎng)站

        3.1 初始化

        程序初始化代碼如下:

        所有 Flask 程序都必須創(chuàng)建一個(gè)程序?qū)嵗?。Web 服務(wù)器使用Web 服務(wù)器網(wǎng)關(guān)接口 WSGI協(xié)議,把接收自客戶(hù)端的所有請(qǐng)求都轉(zhuǎn)交給這個(gè)對(duì)象處理。程序?qū)嵗齛pp是 Flask 類(lèi)的對(duì)象。Flask類(lèi)的構(gòu)造函數(shù)只有一個(gè)必須指定的參數(shù),即程序主模塊或包的名字。在大多數(shù)程序 中,Python 的 __name__ 變量就是所需的值。將構(gòu)造函數(shù)的 name 參數(shù)傳給 Flask 程序,F(xiàn)lask 用這個(gè)參數(shù)決定程序的根目錄,以便稍后能夠找到相對(duì)于程 序根目錄的資源文件位置。

        3.2 路由和視圖函數(shù)

        客戶(hù)端(例如 Web 瀏覽器)把請(qǐng)求發(fā)送給 Web 服務(wù)器,Web服務(wù)器再把請(qǐng)求發(fā)送給程序?qū)嵗?。程序?qū)嵗枰缹?duì)每個(gè) URL請(qǐng)求運(yùn)行哪些代碼,所以保存了一個(gè)URL 到Python 函數(shù)的映射關(guān)系。處理 URL 和函數(shù)之間關(guān)系的程序稱(chēng)為路由。在Flask程序中定義路由的最簡(jiǎn)便方式,是使用程序?qū)嵗峁┑?app.route 修飾器,把修飾的函數(shù)注冊(cè)為路由。下面的例子說(shuō)明了如何使用這個(gè)修飾器聲明路由:

        像home() 這樣的函數(shù)稱(chēng)為視圖函數(shù)(view function)。視圖函數(shù)返回的響應(yīng)可以是包含 HTML 的簡(jiǎn)單字符串,也可以是復(fù)雜的表單。

        3.3 啟動(dòng)服務(wù)器

        程序用run方法啟動(dòng)Flask集成的開(kāi)發(fā)Web服務(wù)器:

        __name__=='__main__' 是Python的常用方法,在這里確保直接執(zhí)行這個(gè)腳本時(shí)才啟動(dòng)Web服務(wù)器。

        3.4 讀取表單

        在編寫(xiě)URL處理函數(shù)時(shí),除了配置URL外,從HTTP請(qǐng)求拿到用戶(hù)數(shù)據(jù)也是非常重要的。Web框架都提供了自己的API來(lái)實(shí)現(xiàn)這些功能。Flask通過(guò)request.form['name']來(lái)獲取表單的內(nèi)容。

        3.5 使用模板

        Web應(yīng)用不僅僅是處理邏輯,前端展示給用戶(hù)的HTML頁(yè)面也非常重要。HTML不僅要正確,還要通過(guò)CSS美化,再加上復(fù)雜的JavaScript腳本來(lái)實(shí)現(xiàn)各種交互和動(dòng)畫(huà)效果。因此生成HTML頁(yè)面的難度很大。使用模板技術(shù)使得這一過(guò)程變得相對(duì)容易。模板是一個(gè)包含響應(yīng)文本的文件,其中包含用占位變量表示的動(dòng)態(tài)部分,其具體值只在請(qǐng)求的上下文中才能知道。使用真實(shí)值替換變量,再返回最終得到的響應(yīng)字符串,這一過(guò)程稱(chēng)為渲染。為了渲染模板,F(xiàn)lask使用了一個(gè)名為Jinja2的強(qiáng)大模板引擎。

        通 過(guò)MVC在Python代 碼 中 處 理M:Model和C:Controller,而V:View是通過(guò)模板處理的,這樣就成功地把Python代碼和HTML代碼最大限度地分離了。

        使用模板的另一大好處是,模板改起來(lái)很方便,而且,改完保存后,刷新瀏覽器就能看到最新的效果,這對(duì)于調(diào)試HTML、CSS和JavaScript的前端工程師來(lái)說(shuō)非常重要。在Jinja2模板中,用{{name }}表示一個(gè)需要替換的變量。很多時(shí)候,還需要循環(huán)、條件判斷等指令語(yǔ)句,在Jinja2中,用{%... %}表示指令。

        此外,F(xiàn)lask還有許多擴(kuò)展程序包可供開(kāi)發(fā)時(shí)使用,如用于高性能數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)的SQLAlchemy和用于表單編程的WTForm等等。

        4. 結(jié)語(yǔ)

        通過(guò)以上簡(jiǎn)單的步驟,使用Flask框架結(jié)合MVC編程模式,可以快速實(shí)現(xiàn)網(wǎng)站的開(kāi)發(fā),如果在網(wǎng)站中融入Bootstrap等前端模板,就可以開(kāi)發(fā)出非常漂亮的基于Html5的響應(yīng)式網(wǎng)站,相比其他開(kāi)發(fā)語(yǔ)言,具有快速高效的優(yōu)勢(shì)。

        猜你喜歡
        表單視圖應(yīng)用程序
        電子表單系統(tǒng)應(yīng)用分析
        華東科技(2021年9期)2021-09-23 02:15:24
        刪除Win10中自帶的應(yīng)用程序
        淺談網(wǎng)頁(yè)制作中表單的教學(xué)
        5.3 視圖與投影
        視圖
        Y—20重型運(yùn)輸機(jī)多視圖
        SA2型76毫米車(chē)載高炮多視圖
        基于Infopath實(shí)現(xiàn)WEB動(dòng)態(tài)表單的研究
        電子世界(2012年24期)2012-12-17 10:49:06
        動(dòng)態(tài)表單技術(shù)在教學(xué)管理中的應(yīng)用*
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        99re8这里有精品热视频免费| 国产人妖伦理视频在线观看| 精品人妻av区乱码色片| 中文字幕日韩一区二区不卡| 国模精品无码一区二区二区| 40分钟永久免费又黄又粗| 日韩有码在线一区二区三区合集| 日日日日做夜夜夜夜做无码| 欧美aa大片免费观看视频| 北岛玲中文字幕人妻系列 | 亚洲av无码乱码在线观看富二代| 中文字幕日本最新乱码视频| www.五月激情| 日韩极品在线观看视频| 久久婷婷五月综合色欧美| ā片在线观看| 国产精品国产三级国产三不| 午夜av天堂精品一区| 国产女主播福利在线观看| 999精品无码a片在线1级| 天堂√在线中文官网在线| 国产成人亚洲精品91专区手机| 久久伊人网久久伊人网| 日本中文字幕婷婷在线| 精品国产一区av天美传媒| 久久国产亚洲AV无码麻豆| 自拍av免费在线观看| 强开小婷嫩苞又嫩又紧视频韩国| 久久夜色精品国产噜噜av| 青青草综合在线观看视频| 国产免费人成视频在线观看| 亚洲精品www久久久久久| 亚洲福利视频一区| 白色橄榄树在线阅读免费| 无码av专区丝袜专区| 人妻影音先锋啪啪av资源 | 久久免费看黄a级毛片| 午夜不卡av免费| 东京热无码人妻中文字幕| 人妻少妇精品专区性色anvn| 亚洲av无码一区二区三区观看|