Flask-SQLAlchemy插件

本文介绍了Flask-SQLAlchemy,它是对SQLAlchemy的封装,便于在Flask应用中使用。同时提到了Flask-Script,它允许通过命令行接口执行如启动服务器、数据库管理等操作。还提到了安装这两个插件的方法。
摘要由CSDN通过智能技术生成

Flask-SQLALchemy插件
另外一个框架,叫Flask-SQLAlchemy,Flask-SQLAlchemy是对SQLAlchemy进行了一个简单的封装,使得我们在flask中使用sqlalchemy更加的简单.
可以通过 :
pip install flask-sqlalchemy 安装

# @ Time : 2020/4/28 23:09
# @ Author : Ellen

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

HOSTNAME = '127.0.0.1'
DATABASE = 'demo0427'
PORT = 3306
USERNAME = 'root'
PASSWORD = 'root'

DB_URL = 'mysql+mysqlconnector://{}:{}@{}:{}/{}?charset?'.format(USERNAME, PASSWORD, HOSTNAME, PORT, DATABASE)

app = Flask(__name__)
# engine = create_engine(DB_URL)
# SQLALCHEMY DATABASE_URI
app.config['SQLALCHEMY_DATABASE_URI'] = DB_URL
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = Flask

db = SQLAlchemy(app)

class User(db.Model):
    # 如果不写__tablename__会以模型名的小写来定义表格
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(50))

    # articles = db.relationship('Article')
    def __repr__(self):
        return "User(name:%s)" % self.name


class Article(db.Model):
    __tablename__ = 'article'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(50))

    uid = db.Column(db.Integer, db.ForeignKey('users.id'))
    author = db.relationship('User', backref='articles')

# db.drop_all()
db.create_all()

# 添加数据
# user = User(name='ellen')
# article = Article(title='python')
# article.author = user
# db.session.add(article)
# db.session.commit()

# 查询数据  3种查询方式都可以,第一种最简便
# user = User.query.all()
# print(user)

# users = User.query.order_by(User.id.desc()).all()
# print(users)

# users = db.session.query(User).all()
# print(users)

# 删除数据
user = User.query.filter(User.name == 'ellen').first()
db.session.delete(user)
db.session.commit()


@app.route("/")
def index():
    return "首页"


if __name__ == '__main__':
    app.run(debug=True)

Flask-Script
Flask-Script的作用是可以通过命令行的形式来操作Flask
例如通过命令跑一个开发版本的服务器、设置数据库,定时任务等。要使用Flask-Script,
可以通过:pip install flask-script 安装最新版本
在这里插入图片描述

# @ Time : 2020/4/29 
# @ Author : Ellen

from flask_script import Manager
from flask_sqlalchemy_demo import app

manage = Manager(app)

@manage.command
def index():
    print("hello")


@manage.option('-n', '--name', dest='name')
@manage.option('-u', '--url', dest='url')
def hello(name, url):
    print("hello", name, url)


if __name__ == '__main__':
    manage.run()

安装 Flask-Migrate

pip install -i https://pypi.douban.com/simple flask-migrate

在这里插入图片描述
在这里插入图片描述
创建

# @ Time : 2020/4/29 4:30
# @ Author : Ellen

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

import config

app = Flask(__name__)
app.config.from_object(config)

db = SQLAlchemy(app)

class AdminUser(db.Model):
    __tablename__ = 'admin_users'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(50))
    email = db.Column(db.String(50))

db.create_all()

if __name__ == '__main__':
    app.run(debug=True)

创建:
在这里插入图片描述

# @ Time : 2020/4/29 4:30
# @ Author : Ellen

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

import config

app = Flask(__name__)
app.config.from_object(config)

db = SQLAlchemy(app)

class AdminUser(db.Model):
    __tablename__ = 'admin_users'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(50))
    email = db.Column(db.String(50))

db.create_all()

if __name__ == '__main__':
    app.run(debug=True)

# @ Time : 2020/4/29 4:32
# @ Author : Ellen

HOSTNAME = '127.0.0.1'
DATABASE = 'demo0427'
PORT = 3306
USERNAME = 'root'
PASSWORD = 'root'

DB_URL = 'mysql+mysqlconnector://{}:{}@{}:{}/{}?charset?'.format(USERNAME, PASSWORD, HOSTNAME, PORT, DATABASE)

SQLALCHEMY_DATABASE_URI = DB_URL
SQLALCHEMY_TRACK_MODIFICATIONS = False
# @ Time : 2020/4/29 4:47
# @ Author : Ellen

from flask_script import Manager
from flask_script_demo import app, AdminUser, db

manage = Manager(app)

@manage.option('-u', "--name", dest='name')
@manage.option('-e', "--email", dest='email')
def add_user(name, email):
    user = AdminUser(name=name, email=email)
    db.session.add(user)
    db.session.commit()


if __name__ == '__main__':
    manage.run()

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flask-SQLAlchemy是一个基于Flask的Python Web开发框架,用于与SQLAlchemy集成的插件,可以轻松地在Flask应用程序中使用SQLAlchemy进行数据库操作。 以下是使用Flask-SQLAlchemy的基本步骤: 1. 安装Flask-SQLAlchemy 可以使用pip命令安装Flask-SQLAlchemy: ``` pip install Flask-SQLAlchemy ``` 2. 在Flask应用程序中配置数据库连接 在Flask应用程序中,需要配置数据库连接信息,例如: ``` from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@localhost/mydatabase' db = SQLAlchemy(app) ``` 以上代码中,'SQLALCHEMY_DATABASE_URI'是数据库连接的URL,可以根据自己的需要进行配置。在这个例子中,使用的是MySQL数据库。 3. 创建模型 在Flask-SQLAlchemy中,使用模型来表示数据库表。例如: ``` class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True, nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) def __repr__(self): return '<User %r>' % self.username ``` 以上代码定义了一个名为“User”的模型,表示一个用户对象,包含id、username和email三个属性。 4. 数据库迁移 在使用Flask-SQLAlchemy时,可以使用Flask-Migrate插件进行数据库迁移。具体的步骤可以参考Flask-Migrate的文档。 5. 数据库操作 使用Flask-SQLAlchemy进行数据库操作非常简单,例如: ``` # 添加一个用户 user = User(username='john', email='john@example.com') db.session.add(user) db.session.commit() # 查询所有用户 users = User.query.all() ``` 以上代码中,首先创建一个名为“john”的用户,然后将其添加到数据库中并提交。接着,查询所有的用户。 这就是使用Flask-SQLAlchemy的基本步骤,可以根据自己的需要进行配置和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值