Skip to content

AI STUDIO Taiwan

台 灣 人 工 智 慧 與 資 料 科 學 研 究 室

  • About 關於本站
  • 專欄列表
  • Taiwan NLP.台灣自然語言處理與人工智慧交流社( 1.8萬位成員)
  • 關於 Taiwan NLP 社群

【Python Flask 網站開發】Flask超詳細入門

Posted on 2021 年 8 月 1 日2023 年 8 月 4 日 By 楊 明翰 在〈【Python Flask 網站開發】Flask超詳細入門〉中尚無留言
Python Flask 網站開發
Print Friendly, PDF & Email

Flask是一個輕量的Python網站開發套件,這裡將介紹如何使用Flask建立第一個網頁Server。

內容目錄

  • 建立實驗用環境
  • 建立Flask的Hello world 
  • 把Flask Server Run起來 

建立實驗用環境

1. 用conda建立虛擬環境,這裡名稱自訂為 flask_example,python版本為3.9

conda create --name flask_example python=3.9

2. 進入剛剛建立好的虛擬環境

conda activate flask_example

3.安裝flask

conda install flask

4.建立一個專案放source code的目錄,並進入

mkdir flask_project

cd flask_project

建立Flask的Hello world 

1.建立一個空檔案,名稱為app.py(切記名稱不可以是flask.py)

touch app.py

2.用編輯器開啟它(這裡慣用Visual Studio Code)

code .

3. 先建立一個一般Python的程式結構,包含一個run函式

def run():

   # do what you want ...

   return

if __name__ == '__main__':

   run()

4.在run函式裡面放入一個dict的物件,它會是等一下呼叫Server時要回傳的JSON資料。這裡只有一個欄位,key是data,value是hello world。

def run():

   res = {

       'data': 'hello world'

   }

5. 接著從flask套件中引入Flask類別和make_response函式,並且建立一個Flask物件,取名成app

from flask import Flask, make_response

app = Flask(__name__)

6.我們要讓剛剛的run函式變成Server的API,在Flask這個套件下,會用decorator(修飾子),來修飾run函式。decorator放在def run的上面:

@app.route('/', methods=['GET', 'POST'])

def run():

這裡的@是decorator的意思,route則是指定我們的路由,用’/’表示就是最上層methods=[‘GET’, ‘POST’]則指定我們要接受的請求方式。並且在run函式內,用make_response以及狀態碼200回傳res:

return make_response(res, 200)

7.在main函式中,讓Flask的物件app呼叫run來啟動Server,run的參數有

host這裡本機端直接用127.0.0.1

port這裡用8080

if __name__ == '__main__':

   app.run(host='127.0.0.1', port=8080, debug=False, threaded=True)

把上述的過程組裝起來。完整的程式如下(app.py):

from flask import Flask, make_response

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])

def run():

   res = {

       'data': 'hello world'

   }

   return make_response(res, 200)

if __name__ == '__main__':

   app.run(host='127.0.0.1', port=8080, debug=False, threaded=True)

把Flask Server Run起來 

在有使用過conda activate的終端機上進入範例程式的位置,並執行:

python app.py

會在終端機上看到

* Serving Flask app 'app'

* Debug mode: off

WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.

* Running on http://127.0.0.1:8080
Press CTRL+C to quit

打開瀏覽器,網址輸入

http://127.0.0.1:8080

就會得到返回的結果

也可以在瀏覽器上點右鍵,選”檢查”,並到Network的標籤下觀察:

可以看到 Status Code是200 ,Server欄位是Python。

另外,我們回到終端機,只要每重新連上http://127.0.0.1:8080/,終端機都會輸出

127.0.0.1 - - [xx/xxx/xxxx xx:xx:xx] "GET / HTTP/1.1" 200 -

以上便是Flask的初學使用,透過上述的流程我們已經可以建立一個基本的Flask Server了。接下來就是如何接收和發送格式稍微複雜的Request、Response,以及調整路由的設計。

✔ 幫我們按個喜歡和分享,支持我們

平均分數 0 / 5. 給分人數 0

尚未有評分,請幫我評分歐

楊 明翰
楊 明翰

是一名八年級中段班的創業者與資料科學家

“With belief and action, we change the world.”

憑藉信念與行動,我們改變世界💪

更多關於站長

本文允許重製、散布、傳輸以及修改,但不得為商業目的之使用

使用時必須註明出處自:楊明翰 , 台灣人工智慧與資料科學研究室 https://aistudio.tw

標籤: 後端 網頁

文章導覽

❮ Previous Post: 【 資料工程與訊號分析】Hampel 濾波器以及中位數絕對離差MAD檢測離群值
Next Post: 高效能運算HPC與台灣杉三號的使用 ❯

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

更多AI相關資訊,歡迎加入站長的粉絲團

Facebook

閱讀視覺風格選擇


實驗袍白 / 適合資料分析師、科學家
終端機黑 / 適合黑客、電腦工程師

專欄列表

  • Artificial intelligence 人工智慧 (3)
    • HPC 高效能運算 (1)
    • PyTorch (1)
    • 從頭實作AI (1)
  • Backend 後端開發 (1)
  • C++ 應用 (2)
  • Community 社群介紹 (1)
  • Data Engineering 資料工程與訊號分析 (1)
  • Java 開發與教學 (2)
  • Linux 入門 (5)
  • NLP/NLU 自然語言處理與理解 (4)
  • Philosophy 站長哲學 (5)
  • Python 開發與教學 (7)
    • Python Flask 網站開發 (1)
    • Python 中階 (1)
    • Python 入門 (5)
  • Slides會議簡報 (12)
  • Start-up 創新創業 (7)
  • 機器學習數學基礎 (1)
  • 私人筆記手稿 (4)
  • 線上教學目錄 (4)

近期發布

  • 【Linux 應用】使用Zenity零成本開發的多開瀏覽器管理器
  • 【Start-up 創新創業】如何選擇創業題目
  • 【自然語言處理與理解】Llama-2大語言模型CPU版本使用
  • 【個人演講】AI EXPO 2023 ChatGPT以及LLM
  • 【自訓課程】NGS 次世代基因體資料科學 課程

討論

尚無留言可供顯示。

年份彙整

  • 2023 (9)
  • 2022 (4)
  • 2021 (6)
  • 2020 (14)
  • 2019 (8)
  • 2018 (10)
  • 2017 (2)
  • 2016 (4)
  • 2015 (2)

ChatGPT GRU HPC llama-cpp LLM Log4J LSTM Node.js SMO SVM Zenity 人工智慧 人格特質 出資 創新 創業 多語言 多開瀏覽器 大語言模型 感知機 戰鬥 技術 技術合夥 技術股 撰寫程式 新創 新手 新聞輿情 最佳化 機器學習 死亡 現代C++ 系統日誌 股東權益 能力 證明 變數 負債 資本 資產負債表 長短期記憶 霍普菲爾 類神經網 類神經網路 風險

調整字型大小

A 縮小字型大小。 A 重設字型大小。 A 放大字型大小。

Copyright © 2023 AI STUDIO Taiwan.
聯絡我們 : whuang022@gmail.com
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Theme: Oceanly by ScriptsTown