import os
import sys
import click
from flask import Flask
from flask_sqlalchemy import SQLAlchemy # 数据库依赖
basedir = os.path.abspath(os.path.dirname(__file__))
app = Flask(__name__)
# SQLite URI compatible
WIN = sys.platform.startswith('win')
if WIN:
prefix = 'sqlite:///'
else:
prefix = 'sqlite:////'
# 数据库设置
dev_db = prefix + os.path.join(basedir, 'data.db')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
# app.config['SQLALCHEMY_ECHO'] = True # 输出SQL语句到控制台
app.config['SQLALCHEMY_DATABASE_URI'] = os.getenv('DATABASE_URI', dev_db)
db = SQLAlchemy(app)
@app.route('/')
def hello():
u = User.query.get(1)
print(u)
return 'Welcome to hello Hi!'
然后运行 flask run
如果能正常打开,说明你的运行环境已经可以了,若是缺少 Flask-SQLAlchemy
依赖包,请自行安装。 代码编辑好后,我们使用 flask shell
命令来调试 例如 flask dbinit
,每次运行都会删除并创建新的数据库和表, @app.cli.command()
装饰器表明这是一个 flask shell
的命令行。
@app.cli.command()
def dbinit():
'''删除并重新构建数据库'''
click.echo('删除数据库和表')
db.drop_all()
click.echo("创建数据库!")
db.create_all()
click.echo("数据库创建成功!")
做好了以上的准备,就可以开始编写 Model
代码了。