flask 小抄(Pipenv 版)(Flask 2.0.1)

初始化專案

  • 建立並移動到專案資料夾

  • 用 pipenv 將專案初始化:pipenv --python 3.9

  • 安裝 Flask 套件:pipenv install flask

  • 在根目錄建立 app.py

  • 設定環境變數:
    export FLASK_APP=app.py
    export FLASK_ENV=development(存擋後會自動重啟 app)

  • .gitignore:.gitignore 產生器

  • Application Factories 起手式:
    # app.py
    from flask import Flask, render_template, request


    def create_app():
        app = Flask(__name__)
        # do something
        return app

參考資料

執行專案

  • flask run pipenv or
    pipenv run python app.py

  • 在瀏覽器網址列輸入 http://127.0.0.1:5000/

Jinja2

連接資料庫

mongodb

安裝套件(先確定有啟動 venv):

連線設定:

參考資料

.env

  • 安裝套件(記得先啟動 venv):pipenv install python-dotenv

  • # app.py
    import os
    from dotenv import load_dotenv
    if os.environ.get('FLASK_ENV', '') == 'development':
        load_dotenv()
    client = MongoClient(os.environ.get('MONGODB_URI'))

    # .env
    MONGODB_URI=XXXX

    #.env.example
    MONGODB_URI=SKIP

    # .gitignore
    .env

部署

Heroku

  • python 版本:
    # runtime.txt
    python-3.9.6

  • 啟動伺服器

    • pipenv install gunicorn

    • # Procfile
      web gunicorn "app:create_app()"

相關指令

  • 用 pipenv 產生 requirements.txt 檔:pipenv lock --requirements > requirements.txt

  • 啟動本地的 mongodb:「mongod」檔案存放路徑/mongod --dbpath 資料夾路徑(此資料夾用來存 db 資料)

參考資料


最後更新日期: 2021 年 10 月 15 日

Comments

Popular posts from this blog

Alpha Camp 全端開發課程學習心得

在 javascript 用 regular expression 為金額加上千位數分隔符號

shop_platform - sqlalchemy.exc.TimeoutError