Login
网站首页 > 文章中心 > 其它

Python_Flask_模型介绍和配置方法

作者:小编 更新时间:2023-09-20 19:21:47 浏览量:268人看过

Python Flask 是一个很受欢迎的 web 应用框架,它提供了一种易于理解的方式来构建 web 应用程序.本文将介绍 Flask 中的模型和如何配置它们.

什么是 Flask 模型

Flask 模型是让 Flask 应用程序与数据库交互的一种方式.Flask 模型由 SQLAlchemy 提供支持,它是一个流行的 Python ORM 库,可以让你在 Python 代码中操作数据库.

为了使用 Flask 模型,你需要在你的应用程序中定义一个模型类,该类描述了数据的结构和表现.Flask 将使用这个模型类创建或更新数据库表格,并将数据存储到其中.当你需要从数据库中读取数据时,你可以使用该模型类查询数据.

Flask 模型的配置

要使用 Flask 模型,你需要完成以下配置:

1. 安装 SQLAlchemy

你可以使用 pip 在命令行中安装 SQLAlchemy:


pip install sqlalchemy


2. 配置数据库连接

在 Flask 应用程序中,你需要指定一个数据库连接.你可以在应用程序的配置中添加以下变量:


app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@localhost/db_name'


这里的 mysql://username:password@localhost/db_name 包含了数据库的连接配置信息.需要根据自己的数据库实例进行相应修改.

③ 初始化数据库

在 Flask 应用程序中,你需要初始化数据库表格.这可以通过 SQLAlchemy 中的 db.create_all() 方法实现.你可以将以下代码添加到你的应用程序中:


from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@localhost/db_name'

db = SQLAlchemy(app)

class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
email = db.Column(db.String(120), unique=True)

db.create_all()


这里 User 的定义将会创建一个 users 表格.如果你需要创建多个表格,你需要在 db.create_all() 之前定义每个表格.

④ 使用模型

创建模型后,你可以在你的 Flask 应用程序中使用它.例如,以下代码创建一个新的用户:


user = User(username='john', email='john@example.com')
db.session.add(user)
db.session.commit()


以下代码将返回所有用户:


users = User.query.all()


Flask 模型的完整示例

下面是一个使用 Flask 模型的完整示例:


from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@localhost/db_name'

db = SQLAlchemy(app)

class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
email = db.Column(db.String(120), unique=True)

db.create_all()

@app.route('/')
def index():
user = User(username='john', email='john@example.com')
db.session.add(user)
db.session.commit()
users = User.query.all()
return str(users)

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


Flask 模型的另一个示例

以下是 Flask 模型的另一个示例,它演示了如何使用外键将两个表格关联在一起:


from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@localhost/db_name'

db = SQLAlchemy(app)

class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
email = db.Column(db.String(120), unique=True)
posts = db.relationship('Post', backref='user', lazy='dynamic')

class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(80))
body = db.Column(db.Text)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

db.create_all()

@app.route('/')
def index():
user = User(username='john', email='john@example.com')
post = Post(title='Hello, World', body='This is my first post', user=user)
db.session.add(post)
db.session.commit()
posts = Post.query.all()
return str(posts)

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


好了,全部的 Flask 模型的介绍和配置方法,希望对你有所帮助.

以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章