這篇文章主要介紹了Flask框架連接數(shù)據(jù)庫(kù)的方法,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),夷陵企業(yè)網(wǎng)站建設(shè),夷陵品牌網(wǎng)站建設(shè),網(wǎng)站定制,夷陵網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,夷陵網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
Flask不能直接連接數(shù)據(jù)庫(kù),需要借助于ORM(Object Relational Mapper)。在這一部分,我們將借助于SQLAlchemy使用Postgres數(shù)據(jù)庫(kù)。
安裝Flask-SQLAlchemy和Postgres
首先安裝flask-sqlalchemy:
$ pip install flask-sqlalchemy
然后從官方下載并安裝postgres:https://postgresapp.com/
創(chuàng)建數(shù)據(jù)庫(kù)
在終端中使用下面的命令創(chuàng)建一個(gè)appdb數(shù)據(jù)庫(kù):
$ createdb appdb
更新應(yīng)用配置
修改app.config,添加數(shù)據(jù)庫(kù)相關(guān)的配置信息:
app.config['DEBUG'] = True app.config['SQLALCHEMY_DATABASE_URI']='postgresql://localhost/appdb' SQLALCHEMY_TRACK_MODIFICATIONS = True db = SQLAlchemy(app)
然后在代碼中就可以使用這些配置數(shù)據(jù)了:
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()
現(xiàn)在,讓我們創(chuàng)建第一個(gè)模型(Model)。所有模型的基類是db.Model,使用Column來(lái)定義數(shù)據(jù)列:
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()
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享Flask框架連接數(shù)據(jù)庫(kù)的方法內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問(wèn)題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!