15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > Flask入门——从无到有构建一个网站(五)创建数据库

Flask入门——从无到有构建一个网站(五)创建数据库

时间:2023-05-24 03:18:02 | 来源:网站运营

时间:2023-05-24 03:18:02 来源:网站运营

Flask入门——从无到有构建一个网站(五)创建数据库:Hello,小伙伴们好久不见,我是桃子。今天我们开始网站的开发的其中比较重要的一步,是的,没错就是建库,不知道小伙伴还记不得,我之前说过,不需要我们去写 SQL 语句,因为我们将会使用 Flask-SQLAlchemy扩展,当然为了使用它,我们需要一点设置,一旦配置完成之后我们需要做的就是,定义模型。

模型这个术语表示程序使用的持久化实体。在ORM 中,模型一般是一个Python 类,类中
的属性对应数据库表中的列。
Flask-SQLAlchemy 创建的数据库实例为模型提供了一个基类以及一系列辅助类和辅助函
数,可用于定义模型的结构。 —— 《Flask Web 开发》

好了废话少说,让我们步入正题。



配置SQLAlchemy

这里我们将会使用 MySQL,关于 SQLite 配置更简单,在最后我会简单介绍一下,创建 test.py 文件。

from flask import Flaskfrom flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:@localhost:3306/shares_dev?charset=utf8' # mysql://username:password@hostname/databaseapp.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True #这里是个很有趣的地方db = SQLAlchemy(app)

关于配置其实就这么一点,是不是很简单,回到我注释那个地方,为什么很有趣,我这里就不说了,直接贴个链接Remove SQLALCHEMY_COMMIT_ON_TEARDOWN

配置完成之后,就是对模型的定义。



定义模型

通样在 test.py 中定义模型,最后开发过程中,这两项自然是分开创建不同的文件的。

class Posts(db.Model): __tablename__ = 'posts' id = db.Column(db.Integer, primary_key=True) userid = db.Column(db.Integer) title = db.Column(db.String(128)) content = db.Column(db.Text) posttime = db.Column(db.DateTime) prarises = db.Column(db.Integer, default=0) views = db.Column(db.Integer, default=0) comments = db.Column(db.Integer, default=0) def __repr__(self): return '<Posts %r>' % self.idclass Comments(db.Model): __tablename__ = 'comments' id = db.Column(db.Integer, primary_key=True) postid = db.Column(db.Integer) username = db.Column(db.String(64)) comments = db.Column(db.Text) def __repr__(self): return '<Comments %r>' % self.id

这里简单介绍一下 SQLAlchemy 列类型


SQLAlchemy 列选项

图片来自 <Flask Web 开发>



数据库操作

创建表

使用 db.create_all()函数,让 SQLAlchemy 根据模型类创建数据库,在该文件所在文件目录下,打开终端,然后进入到 Python 命令行,你也可以用 python test.py shell 这个命令



>>> from test import db>>> db<SQLAlchemy engine='mysql://root:@127.0.0.1:3306/shares?charset=utf8'>让我们查看此时的数据库,如下图:

什么都没有,别急,让我们执行以下 create_all()



>>> db.create_all()这个时候才看一下数据库


大功告成!告别了SQL语句,是不是方便了许多,数据库已经创建了,下一节我们就开始试着去开发登录注册功能了。


最后,欢迎小伙伴扫描我头像关注我的公共号~~和桃子用Python做有趣的事情~~

关键词:创建,数据,入门

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭