欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pyhon Flask框架:第一個Flask程序

 更新時間:2021年10月14日 11:41:13   作者:霖hero  
這篇文章主要介紹了Flask搭建虛擬環(huán)境并運行第一個flask程序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

Flask框架介紹

Flask誕生于2010年,是Armin ronacher用Python語言基于Werkzeug工具箱編寫的輕量級Web開發(fā)框架,其本身相當(dāng)于一個內(nèi)核,其他幾乎所有的功能都要用到擴展,都需要第三方的擴展來實現(xiàn)。

其WSGI工具箱采用Werkzeug(路由模塊),模板引擎則使用Jinja2,這兩個也是Flask框架的核心,它們分別負(fù)責(zé)業(yè)務(wù)處理和安全方面的功能。其中:

  • Werkzeug庫:支持URL路由請求集成,一次可以響應(yīng)多個用戶的訪問請求;支持Cookie和會話管理,通過身份緩存數(shù)據(jù)建立長久連接關(guān)系,并提高用戶訪問速度;支持交互式Javascript調(diào)試,提高用戶體驗;可以處理HTTP基本事務(wù),快速響應(yīng)客戶端推送過來的訪問請求。
  • Jinja2庫:支持自動HTML轉(zhuǎn)移功能,能夠很好控制外部黑客的腳本攻擊。

Flask框架的作用

那么Flask框架的作用是什么呢?

Flask是一個Web框架,它的作用主要是為了開發(fā)Web應(yīng)用程序,Web大家應(yīng)該都了解,就是網(wǎng)頁,所以我們學(xué)完了Flask就可以自己寫個小網(wǎng)站了。

除了Flask框架,Python還有很多web框架,例如Django,Tormado框架等,其中最出名的框架是Django,最靈活的框架算是Flask。

Flask框架常用擴展包

剛才說了,F(xiàn)lask本身相當(dāng)于一個內(nèi)核,其他幾乎所有的功能都要用到擴展,都需要第三方的擴展來實現(xiàn)。

那么它常有的擴展包有哪些呢?

  • Flask-SQLalchemy:操作數(shù)據(jù)庫;
  • Flask-script:插入腳本;
  • Flask-migrate:管理遷移數(shù)據(jù)庫;
  • Flask-Session:Session存儲方式指定;
  • Flask-WTF:表單;
  • Flask-Mail:郵件;
  • Flask-Bable:提供國際化和本地化支持,翻譯;
  • Flask-Login:認(rèn)證用戶狀態(tài);
  • Flask-OpenID:認(rèn)證;
  • Flask-RESTful:開發(fā)REST API的工具;
  • Flask-Bootstrap:集成前端Twitter Bootstrap框架;
  • Flask-Moment:本地化日期和時間;
  • Flask-Admin:簡單而可擴展的管理接口的框架。

創(chuàng)建Flask項目

簡單地了解了Flask框架是什么,其作用是什么,現(xiàn)在我們開始創(chuàng)建一個Flask框架項目,這里我們推薦用PyCharm,不要問為什么,問就是方便、好用。

首先打開PyCharm,創(chuàng)建我們第一個Flask項目,如下圖所示:

一般情況下,我們只需要修改一下項目名和選擇Python編譯器即可點擊Create,點擊后,我們再點擊This Window,這樣我們就成功創(chuàng)建了一個Flask框架項目,如下圖所示:

其中:

  • static是靜態(tài)文件夾,里面可以放js,css等文件;
  • templates是模板文件夾;
  • venv是虛擬環(huán)境文件夾,里面放著我們pip安裝的庫和一些模塊、包;
  • app.py是啟動程序。

創(chuàng)建完項目后,我們查看當(dāng)前項目已經(jīng)安裝了哪些包,執(zhí)行代碼如下:

pip list

執(zhí)行結(jié)果如下圖所示:

每個人執(zhí)行的結(jié)果可能不一樣,可能會少了或多了一兩個包,但沒關(guān)系,當(dāng)我們需要的時候,再去安裝即可。

app.py介紹

接下來我們來介紹一下app.py,其文件內(nèi)容如下:

from flask import Flask
​
#創(chuàng)建Flask的實例對象
app = Flask(__name__)
​
#裝飾器
@app.route('/')
def hello_world():
    #視圖函數(shù)
    return 'Hello World!'
​
if __name__ == '__main__':
    app.run()

其中:

1.導(dǎo)入Flask模塊,該類的實例將會成為我們的WSGI應(yīng)用;

2.創(chuàng)建一個該類的實例,該實例可以傳遞以下參數(shù):

1、__name__是一個適用于大多數(shù)情況的快捷方式,有了這個參數(shù), Flask 才能知道在哪里可以找到模板和靜態(tài)文件等東西;

2、static_url_path: 訪問靜態(tài)資源的url前綴

3、static_folder: 默認(rèn)‘static'

4、template_folder: 默認(rèn)‘templates'

3.使用route()裝飾器來告訴Flask觸發(fā)函數(shù)的URL ;

4.視圖函數(shù)返回需要在用戶瀏覽器中顯示的信息;

5.app.run()啟動一個web服務(wù)器來運行我們的程序。

運行Flask程序

我們先什么都不做,運行一下代碼,試試它會出現(xiàn)什么。

有兩種運行方法,一種是直接運行,另一種是在Terminal里面運行。

直接運行,運行結(jié)果如下:

FLASK_APP = app.py
FLASK_ENV = development
FLASK_DEBUG = 0
In folder C:/Users/LIN/Desktop/Flask開發(fā)
C:\Users\LIN\Desktop\Flask開發(fā)\venv\Scripts\python.exe -m flask run
 * Serving Flask app 'app.py' (lazy loading)
 * Environment: development
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

在Terminal里面運行,運行結(jié)果如下圖所示:

這兩種運行方式主要是Environment結(jié)果不同,但也差不多,因為在Terminal里面運行中,會有個WARNING警告,告訴我們這是一個開發(fā)服務(wù)器,不要在生產(chǎn)部署中使用它。

我們點擊http://127.0.0.1:5000/就會彈出一個瀏覽器,如下圖所示:

那么我們就要思考,為什么點擊這個網(wǎng)址就會彈出Hello World!,而不是彈出其他呢。

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • 詳解Python設(shè)計模式編程中觀察者模式與策略模式的運用

    詳解Python設(shè)計模式編程中觀察者模式與策略模式的運用

    這篇文章主要介紹了Python設(shè)計模式編程中觀察者模式與策略模式的運用,觀察者模式和策略模式都可以歸類為結(jié)構(gòu)型的設(shè)計模式,需要的朋友可以參考下
    2016-03-03
  • Pandas 同元素多列去重的實例

    Pandas 同元素多列去重的實例

    今天小編就為大家分享一篇Pandas 同元素多列去重的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python實現(xiàn)清除文件夾中重復(fù)視頻

    Python實現(xiàn)清除文件夾中重復(fù)視頻

    本文將利用Python中的os、hashlib、shutil模塊實現(xiàn)對文件夾中的重復(fù)視頻進(jìn)行清除,實現(xiàn)文件夾中無重復(fù)文件情況發(fā)生,需要的可以參考一下
    2022-05-05
  • python基礎(chǔ)之遞歸函數(shù)

    python基礎(chǔ)之遞歸函數(shù)

    這篇文章主要介紹了python遞歸函數(shù),實例分析了Python中返回一個返回值與多個返回值的方法,需要的朋友可以參考下
    2021-10-10
  • Series和DataFrame使用簡單入門

    Series和DataFrame使用簡單入門

    這篇文章主要介紹了Series和DataFrame使用簡單入門,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Python中的變量賦值

    Python中的變量賦值

    這篇文章主要介紹了Python中的變量賦值,Python中的變量在使用中很流暢,可以不關(guān)注類型,任意賦值,對于開發(fā)來說效率得到了提升,但不了解其中的機理,往往也會犯一些小錯,讓開發(fā)進(jìn)行的不那么流暢,本文就從語言設(shè)計和底層原理的角度,帶大家理解Python中的變量。
    2021-10-10
  • python中使用正則表達(dá)式的后向搜索肯定模式(推薦)

    python中使用正則表達(dá)式的后向搜索肯定模式(推薦)

    這篇文章主要介紹了python里使用正則表達(dá)式的后向搜索肯定模式,本文通過代碼介紹的非常詳細(xì),包括語法介紹,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-11-11
  • Python3實現(xiàn)的畫圖及加載圖片動畫效果示例

    Python3實現(xiàn)的畫圖及加載圖片動畫效果示例

    這篇文章主要介紹了Python3實現(xiàn)的畫圖及加載圖片動畫效果,結(jié)合實例形式分析了Python3基于tkinter庫進(jìn)行圖片加載動畫效果的相關(guān)實現(xiàn)與使用技巧,需要的朋友可以參考下
    2018-01-01
  • Python matplotlib 畫圖窗口顯示到gui或者控制臺的實例

    Python matplotlib 畫圖窗口顯示到gui或者控制臺的實例

    今天小編就為大家分享一篇Python matplotlib 畫圖窗口顯示到gui或者控制臺的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python通過wordcloud庫實現(xiàn)將單詞生成詞云

    Python通過wordcloud庫實現(xiàn)將單詞生成詞云

    Python的wordcloud庫是一個用于生成詞云的Python包,它可以將一段文本中出現(xiàn)頻率高的單詞按其出現(xiàn)頻率大小以及顏色深淺排列成一個詞云圖形,從而更好地展示文本中的信息,你可以使用wordcloud庫來生成各種類型的詞云,本文就介紹了如何生成心型詞云
    2023-06-06

最新評論