flask框架安裝使用

夏目&貴志發表於2022-02-27

開篇

個人工作中需要用到flask,所以特地搭建了用一下,熟悉操作

一、centos雲伺服器環境下

falsk作為一個python的輕量級的web框架,基本上相當於一個核心,各種功能都需要擴充套件第三方來實現,比如資料庫操作需要用到flask-sqlalchemy,引入指令碼需要用到flask-script,本地化時間需要用到flask-monent。。。。。。就這點來看,它就區別於Django的功能齊全,因為flask是一個自定義式的。啥?我這個剛準備熟悉框架的人為什麼那麼熟練?查資料啊!

安裝

因為flask是python的一個框架,而python又是使用包來管理的,所以你可以直接用pip來下載安裝,然後在程式碼中引入使用即可。這樣比較,老本行的c/c++的確是很不方便啊,雖然它志不在此。

pip3 install flask

因為我的雲伺服器配置了python2和python3,但我沒有把pip管理的連結都連成pip,所以使用還是pip3,安裝完以後可以檢視一下安裝列表(pip3 list)。

簡單的hello, world

我們的測試都是經典的hello, world嘛,這次也不例外。

from flask import Flask
app = Flask(__name__)

#設定flask定時任務
@app.route('/hello')
def hello():
        return "Hello, world."

if __name__ == '__main__':
        #設定除錯模式,實際使用不需要
        app.debug = True
        app.run()

執行結果:

[root@centos web_test]# python3 flask_test.py
 * Serving Flask app 'flask_test' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 126-917-774

然後我們另開一個連線,用curl訪問一下

#作為客戶端的訪問
[root@centos ~]# curl http://localhost:5000/hello
Hello, world.[root@centos ~]# 

#作為服務端的響應記錄
127.0.0.1 - - [27/Feb/2022 10:48:31] "GET / HTTP/1.1" 200 -

首先來說一下上面程式碼的作用吧,上面就是引用了flask模組中的Flask類,然後例項化,接下來設定路由,其實就是針對http訪問的url格式來確定響應,比如我上面路由設定函式hello的引數為'/hello',url格式就是"http://localhost:5000/hello"或者"http://127.0.0.1:5000/hello",你問我為什麼是本地訪問?我也不知道哇,雲伺服器的訪問規則我都開了,對應埠的TCP訪問應該是ok的呀,真的是。估計是和現在所在的開發者模式有關。

二、windows下的安裝使用

在windows下的安裝使用和linux下沒有什麼區別,所以這裡就給一些結果對照就行。

pip install flask

因為是在windows下,所以結果的檢視就可以很直觀了,直接瀏覽器開啟http://localhost:5000/hello即可

然後我們的服務端執行結果是這樣的:

PS C:\Users\abaaba\Desktop> python test.py
 * Serving Flask app 'test' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 421-642-904
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [27/Feb/2022 11:39:16] "GET /hello HTTP/1.1" 200 -
127.0.0.1 - - [27/Feb/2022 11:39:16] "GET /favicon.ico HTTP/1.1" 404 -

需要注意的是,常說服務端和客戶端,其實它們並不代表主機實體,而是程式實體,同一臺主機可以作為提供各種服務的服務端也可以作為享受各種服務的客戶端。

相關文章