flask 操做數據時,db的要在app.config設置以後聲明:如app.config['SQLALCHEMY_DATABASE_URI'] sql
不然,運行程序時app.config裏面作的設置就不會生效,就會提示各類參數沒作設置數據庫
由於db在聲明的時候解釋器就會去讀數據庫URI的值,若是此時沒有讀到,後面設置了也不會去讀了flask
#encoding=utf-8 #from foo_orm import Model, Column, String from flask import Flask, render_template, flash, url_for, redirect from flask_sqlalchemy import SQLAlchemy from flask_migrate import Migrate app = Flask(__name__) import os app.secret_key = os.getenv('SECRET_KEY','secret string') import os app.config['SQLALCHEMY_DATABASE_URI'] = os.getenv('DATABASE_URL','sqlite:///' + os.path.join(app.root_path, 'data.db')) app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) migrate = Migrate(app, db) # 在db對象建立後調用