# Flask 2.x_基礎_01_建立第一個app ###### `flask` `flask 2.x` :::info 參考來源: * [快速上手(簡中文件)](https://dormousehole.readthedocs.io/en/latest/quickstart.html) * [Quickstart](https://flask.palletsprojects.com/en/2.3.x/quickstart/) ::: 在開始這個範例之前請先確認你已經有確實的安裝flask,如果還沒有也不用擔心,只需要簡單的安裝命令: ```shell= pip install flask ``` 安裝之後各種相依套件就會自動載入,我們就直接開始建置第一個應用。整個過程都是配合官方文件的Quickstart再加上一點自己的說明。 開發工具的部份就請自行決定是使用vs code、pyCharm或是其它你所熟悉的工具。個人所採用的是pyCharm。 記得,開發app的第一個動作一定就是建立一個虛擬環境,除非你是直接在container內開發。 ## 建立第一個app 首先,建立一個`app.py`的文件,文件內的程式碼如下: ```python= from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return '<p>Hello Flask.</p>' ``` * line 1:import需求套件 * line 3:new一個Flask object,給定的參數`__name__`就當做是約定俗成的一個作法,主要是讓程式知道根目錄所在 * line 6:利用裝飾器將`hello_world`包裝成一個路由(router),其url為`/` * line 8:回傳的東西預設為html,這邊設置一個tag `p`顯示Hello Flask. 就這樣,先保存它。 ## 執行第一個app 打開你的command line,pyCharm的話就是`alt + f12`,並且輸入下面命令: ```shell= flask --app app run ``` `--app`後面所接的app就是跟flask說應用程式的所在,以我們的範例就是`app.py`,如果是官方範例所設置的話就是`hello.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:5000 Press CTRL+C to quit ``` 執行命令接的參數還有很多,但不急,總是會慢慢瞭解。 成功執行命令之後系統會跟我們說連線的ip+port,很明顯的就是`127.0.0.1:5000`,點擊之後會看到如下內容:  :::warning 系統在執行的時候有跟我們說這只是開發用的服務,一般來說我們不會在正式環境中這樣佈署,相關部份後續都會有說明。 ::: ## 簡單瞭解執行命令 [Command Line Interface](https://flask.palletsprojects.com/en/2.3.x/cli/) 基本上flask的命令功能是結合[Click](https://click.palletsprojects.com/en/8.1.x/),這我之前有[翻譯](https://hackmd.io/@shaoeChen/BJ_cf2jhX)一半,不過還沒有翻譯完就是。 三個常用的執行參數說明: 1. `--app`,基本上就是指定執行程式,如果你的執行程式也剛好叫`app.py`的話是可以不用特別指定的,直接`flask run`就可以,另外有幾種作法: * `--app src/hello`,指定`src`資料夾內的`hello` * `--app hello:app2`,指定`hello`中的`app2`,其中`app2`指的就是Flask的instance,也就是我們程式中所設置的`app2 = Flask(__name__)` * `-app hello:create_app('dev')`,這是工廠模式的作法,這邊並不打算說明,但這會是未來我們主要採用的方式 3. `--debug`,當我們在執行命令中加入`--debug`的時候就代表進入debug mode,這對於我們開發時候除錯很有幫助 4. `--host`,往上回頭看我們執行的時候,系統所給出的連線ip是`127.0.0.1:5000`,這是一個本機位置,可是當指定`--host=0.0.0.0`的時候就代表這個服務是open的,區網內的人都可以連線(除非你防火牆沒有設置開放對應port) 當然你還可以利用`flask shell`進入互動式命令,這可以在後續我們建置Model要初始化資料庫的時候會有機會用到,不急著說明。 ## 結論 恭喜你,你已經成功執行第一個關於flask的應用程式,而且也知道執行應用程式的時候有三個常用的參數可以設置。目前來說,有疑問是正常的,沒疑問也不奇怪,正熱身呢。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up