iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 26
0
Modern Web

🍐放學後的網頁開發系列 第 26

[Day26] 柚子放學後的網頁生活 - Flask intro

以上花了幾天的篇幅為Django介紹,相信大家到這裡也是非常的疲累..

那換個口味吧 !

今天來說說另一個東西 - Flask

Flask

Flask 是一個使用 Python 撰寫的輕量級 Web 應用程式框架,相對於Django用Flask我們可以快速開發許多。
優點呢

  • 核心簡單,由 Werkzeug WSGI 工具箱和 Jinja2 模板引擎所組成
  • 非常大的彈性,若有需求,都可另外加不同 extension

Q:那不是比Django好嗎 ?
我覺得這就像設計一樣,沒有所謂的好壞,只有適不適合,有沒有解決問題

接下來就從安裝開始 ..

pip

What is pip ?

  • Python的套件管理工具
  • 集合下載、安裝、升級、管理、移除套件等功能

Operations

# 安裝模組
$ pip install 模組名
# 移除模組
$ pip uninstall 模組名
# 搜尋模組
$ pip search 模組名

這邊要下的很簡單

pip install flask

看到寫Successfully installed就成功了,不放心的話可以再執行一次

他已經偵測到 already 有囉 !

Hello World

快速來個 Flask 的 Hello World 確認環境
route看你要放在網站的哪個子目錄下
底下先不另外建子route
呼叫hello function 來 print 出 Hello world

from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello World!"
if __name__ == "__main__":
    app.run()

用cmd執行的話

python XXX.py

or

set FLASK_APP=hello.py
python -m flask run

預設 port 是在 5000,看到 HTTP Status Code return 200,代表 Request Successfully

Flask Script

  • Flask 的 extensions,幫助我們使用指令列來操作 Flask 並在 shell 環境下操作 app context

  • 像Django做DB遷移python manage.py makemigrations,我們現在可以來自定Flask實現類似功能

一樣先下載

pip install flask-script

Hello Definition

Build manage.py

from flask_script import Manager
from flask import Flask
app = Flask(__name__)

# 設定你的 app
manager = Manager(app)

# 自定command
@manager.command
def hello():
    """Print hello"""
    print("hello")

if __name__ == "__main__":
    manager.run()

裡面放一個hello,可以print出hello

How to test

python manage.py

執行此程式時他就會告訴你能帶的變數跟功能哦,提示內容也能自訂哦

那我們就試試看 hello

python manage.py hello

那這樣就完成囉~
可以再去試試看定義自己的script~

下課囉 ~ 請鎖定柚子放學後的網頁生活


上一篇
[Day25] 柚子放學後的網頁生活 - Django Photo sharing
下一篇
[Day27] 柚子放學後的網頁生活 - Flask render
系列文
🍐放學後的網頁開發30

尚未有邦友留言

立即登入留言