Flask:數據庫的建模

  學習完模板系統,接下來要研究的就是框架對數據庫的操做,不論python的那個框架,直接使用數據庫API(redis、pymysql均可以進行操做,可是這些操做不夠方便,因而就有了ORMhtml

一、Flask-sqlalchemy

  關於Flask-sqlalchemy的相關配置能夠參考配置 — Flask-SQLAlchemy 2.0 documentationpython

  SQLAlchemypython開源的一個ORM模塊,相似的模塊還有peewee,一些開發者將SQLAlchemy進行了針對Flask的封裝,因而就有了Flask-sqlalchemy模塊mysql

  安裝Flask-sqlalchemy,命令:redis

pip install Flask-sqlalchemy

   安裝pymysql,命令:sql

pip install pymysql

 二、SQLAlchemy建模

import os
from flask import Flask
from flask import render_template
from flask_sqlalchemy import SQLAlchemy
import pymysql

pymysql.install_as_MySQLdb()

# 建立一個應用
app = Flask(__name__)

BASE_DIR = os.path.abspath(os.path.dirname(__file__))

# 連接數據庫
app.config["SQLALCHEMY_DATABASE_URI"] = "mysql://root:123456@localhost/flaskdb"
# 請求結束以後自動提交
app.config["SQLALCHEMY_COMMIT_ON_TEARDOWN"] = True
# 跟蹤修改
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = True

models = SQLAlchemy(app)


class Test(models.Model):
    __tablename__ = "test"
    id = models.Column(models.Integer, primary_key=True)
    name = models.Column(models.String(32))
    time = models.Column(models.Date)


@app.route("/index/", methods=["GET", "POST"])
def index():
    name = "index"
    return render_template("index.html", **locals())


if __name__ == '__main__':
    models.create_all()  # 同步數據庫
    app.run(host="127.0.0.1", port=8000, debug=True)

  上面代碼連接的是mysql數據庫,通常會報如下警告:數據庫

解決方案:flask

  導入模塊mysql-connector,命令:app

pip install mysql-connector

  修改連接數據庫部分的代碼:框架

app.config["SQLALCHEMY_DATABASE_URI"] = "mysql+mysqlconnector://root:123456@localhost/flaskdb"

  至此,警告問題解決學習

相關文章
相關標籤/搜索