flask-script结合数据库使用小案例!

上节为大家讲解了flask-script如何使用?相信大家看过该文章后,使用flask-script已不是问题。下面我就结合数据库来讲讲flask-script,让大家能够深入了解flask-script用法。

注:在开始讲解之前,请确保你对ORM、数据库有一定的了解(懂的请忽略)。

首先,我们在项目下新建一个主app文件(app.py),其代码如下:

from flask import Flask

app = Flask(__name__)

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

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

由于案例涉及到数据库,涉及到数据库哪意味着就要配置数据库相关信息?是吧??下面我们就新建一个配置文件(config.py),其代码如下:

DIALCT = "mysql"
DRIVER = "pymysql"
USERNAME = "root"
PASSWORD = "root"
HOST = "127.0.0.1"
PORT = "3306"
DATABASE = "first_sqlalchemy"
DB_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALCT,DRIVER,USERNAME,PASSWORD,HOST,PORT,DATABASE)
SQLALCHEMY_DATABASE_URI = DB_URI

配置好数据库相关信息后,我们是不是还得建立ORM模型,然后将ORM模型映射到数据库中。为了方便管理,我们新建一个文件(models.py)用于存放模型相关代码,其代码如下所示:

from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

class User(db.Model):
    id = db.Column(db.Integer , primary_key=True , autoincrement=True)
    name = db.Column(db.String(20) , nullable=False)
    password = db.Column(db.String(50) ,nullable=False)

配置文件、ORM文件写好后,我们是不是还得在主app文件引用它们??引用代码如下:

import config
from modles import db
app.config.from_object(config)
db.init_app(app)

主app.py完整代码如下:

from flask import Flask
import config
from modles import db

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

@app.route("/")
def index():
    db.create_all()
    return "index page"

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

打开mysql 命令行工具,我们查看下表中是否有user这个表。

之前创建过user这个表,我们把它删除。

删除user表后,我们再执行主app文件,如果执行没有报错,我们再查看下user表是否已成功映射到数据库中。

由上图可知,user表已成功映射到数据库中了。下面我们再创建一个manage.py文件,用与存放所有迁移脚本代码。其代码如下:

from flask_script import Manager
from app import app

manage = Manager(app)

@manage.option("-u","--username",dest="username")
@manage.option("-p","--password",dest="password")
def insert_user(username,password):
    print("username:%s,password:%s"%(username,password))


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

打开命令行终端,输入下方命令:

python manage.py insert_user -u tom -p 19920709

运行上方命令,结果如下:

但这并不是我们想要的结果,我们想要运行上方命令后,传入的参数能够添加到user表中。

要想将传入的参数添加到user表中,我们是不是只需导入模型,然后实例化一个对象,然后再db.session.add....session.commit就可以了。是吧?

从主app文件中导入db,再从moldes文件中导入User模型,代码如下:

from app import app,db
from modles import User

然后再构建ORM对象并将其数据添加到表中,代码如下:

@manage.option("-u","--username",dest="username")
@manage.option("-p","--password",dest="password")
def insert_user(username,password):
    # print("username:%s,password:%s"%(username,password))
    user = User(name = username,password = password)
    db.session.add(user)
    db.session.commit()

在运行命令之前,我们先看看user表中是否有数据,如果没有数据我们再运行下方命令:

python manage.py insert_user -u tom -p 19920709

然后再查看user表,如果不出意外的话,结果如下所示:

通常情况下,flask-script会结合flask-migrate使用,后面我会讲解flask-migrate结合flask-script使用。大家只有熟悉了flask-script,在后面讲解flask-migrate的时候,就会变得非常轻松!!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Flask中使用PyCharm插入数据库,需要先安装相应的数据库驱动程序和Flask扩展。然后,您可以使用SQLAlchemy等ORM工具来连接和操作数据库。在PyCharm中,您可以使用内置的数据库工具来管理和查询数据库。具体的步骤和代码实现可以参考Flask和PyCharm的官方文档和教程。 ### 回答2: 在使用Flask和PyCharm插入数据库时,可以按照以下步骤进行操作: 1. 首先,确保已经安装了Flask和PyCharm,并且已经配置了数据库连接。 2. 在项目文件夹中创建一个新的Python文件,用于编写数据库插入的代码。 3. 导入必要的模块和库,例如flask_sqlalchemy和数据库相关的模块。 4. 定义数据库表模型,可以使用ORM(对象关系映射)来创建数据库表。 5. 在应用程序的配置中,配置数据库连接的相关信息,例如数据库的URL和其他连接参数。 6. 创建一个视图函数,用于具体处理插入数据库的逻辑。在该函数中,首先创建一个数据库实例,然后使用该实例进行数据库插入操作。 7. 在视图函数中,将需要插入数据库的数据传递给数据库实例,调用插入方法将数据插入到数据库中。 8. 保存并提交事务,以确保数据的插入操作被正确执行。 9. 在Flask应用程序中注册视图函数,使其可以在特定的URL被访问到。 10. 运行Flask应用程序,并通过访问对应的URL来触发插入数据库的逻辑。 总结: 在Flask和PyCharm中插入数据库,需要导入相关库和模块,配置数据库连接信息,定义数据库表模型,编写视图函数来处理插入操作,并注册视图函数以使其可以被访问到。 ### 回答3: 不好意思,您给出的问题有点模糊,不太清楚您具体想要了解关于flask-pycharm插入数据库的内容。不过,我可以给您提供一些基本的关于如何在Flask项目中使用PyCharm插入数据库的信息。 在Flask项目中使用PyCharm插入数据库,您需要先进行一些准备工作。首先,您需要安装相应的数据库驱动,例如MySQL的驱动程序pymysql,或者其他数据库的驱动程序,根据您具体使用数据库而定。 接下来,您需要在您的Flask项目中配置数据库连接。在项目的配置文件中,您可以使用类似于以下的代码配置数据库连接: ``` app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:password@localhost/database_name' ``` 其中,`username`和`password`是您自己数据库的用户名和密码,`localhost`是数据库所在的主机地址,`database_name`是您所使用数据库的名称。您也可以根据实际情况使用其他数据库的连接字符串。 一旦您配置好数据库连接,接下来就可以在您的Flask应用程序中使用数据库了。您可以使用SQLAlchemy库来进行数据库的插入操作。首先,您需要在您的代码中导入SQLAlchemy模块: ``` from flask_sqlalchemy import SQLAlchemy ``` 然后,您可以创建一个数据库对象,并配置它与您的Flask应用程序关联: ``` db = SQLAlchemy(app) ``` 接下来,则可以使用这个对象进行数据库操作,例如插入数据。您可以创建一个数据模型来定义您要插入的数据表的结构,然后使用这个模型来插入数据。例如,假设您有一个名为`User`的数据模型,您可以使用以下代码来创建一个新的用户并插入到数据库中: ``` user = User(username='testuser', password='testpassword') db.session.add(user) db.session.commit() ``` 这将会在数据库的`User`表中插入一条新的用户数据。 综上所述,以上是一个简单的关于如何在Flask项目中使用PyCharm插入数据库的概述。具体的实现方式可能会因为您使用数据库和数据模型的不同而有所不同,但这个过程的基本思路是类似的。希望这些信息能对您有所帮助。如果您有更具体的问题,欢迎继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值