Flask不能直接连接数据库,需要借助于ORM(Object Relational Mapper)。在这一部分,我们将借助于SQLAlchemy使用Postgres数据库。 安装Flask-SQLAlchemy和Postgres 首先安装flask-sqlalchemy: $ pip install flask-sqlalchemy 然后从官方下载并安装postgres:https://postgresapp.com/ 创建数据库 在终端中使用下面的命令创建一个appdb数据库: $ createdb appdb 更新应用配置
相关推荐:《Python视频教程》 修改app.config,添加数据库相关的配置信息: app.config['DEBUG'] = True
app.config['SQLALCHEMY_DATABASE_URI']='postgresql://localhost/appdb'
SQLALCHEMY_TRACK_MODIFICATIONS = True
db = SQLAlchemy(app) 然后在代码中就可以使用这些配置数据了: from flask import Flask, request, render_template
from flask_sqlalchemy import SQLAlchemy
# Settingsapp = Flask(__name__)
app.config['DEBUG'] = Trueapp.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://localhost/appdb'
db = SQLAlchemy(app)@app.route('/')def hello_world():
return 'Hello, World!'if __name__ == '__main__':
app.run() 现在,让我们创建第一个模型(Model)。所有模型的基类是db.Model,使用Column来定义数据列: class Post(db.Model):
id = db.Column(db.Integer(), primary_key=True)
title = db.Column(db.String(80), unique=True)
post_text = db.Column(db.String(255))
def __init__(self, title, post_text):
self.title = title
self.post_text = post_text 在代码中使用模型: from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://localhost/testdb'
db = SQLAlchemy(app)
class Post(db.Model):
id = db.Column(db.Integer(), primary_key=True)
title = db.Column(db.String(80), unique=True)
post_text = db.Column(db.String(255))
def __init__(self, title, post_text):
self.title = title
self.post_text = post_text
@app.route('/')
def index():
return "Hello World"
app = Flask(__name__)
if __name__ == "__main__":
app.run() 相关推荐: Flask框架如何使用HTML模板 |