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):
pipenv install pymongo
or support for mongodb+srv:// URIs requires dnspython:
pipenv install pymongo[srv]
連線設定:
from pymongo import MongoClient
client = MongoClient('url')
app.db = client['database_name']
參考資料
.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 資料)
參考資料
heroku run commands with quotes:
heroku run 'gunicorn "app:create_app()"'
最後更新日期: 2021 年 10 月 15 日
Comments
Post a Comment