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模板
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!