当前位置: 首页 > news >正文

百兆独享 做资源网站百度风云榜热搜

百兆独享 做资源网站,百度风云榜热搜,如何制作一个网站h5,智能网站建设找三好科技目录 前言 一、 安装必要的库 二、配置数据库连接 三、定义模型 四、操作数据库 1.添加用户 2.删除用户 3.更新用户信息 4查询所有用户 五、测试结果 前言 在Flask框架中,数据库的操作是一个核心功能,它允许开发者与后端数据库进行交互&#xf…

目录

前言

一、 安装必要的库

二、配置数据库连接

 三、定义模型

四、操作数据库

1.添加用户

2.删除用户

3.更新用户信息

4查询所有用户

五、测试结果


前言

        在Flask框架中,数据库的操作是一个核心功能,它允许开发者与后端数据库进行交互,执行数据的增删改查操作。本文将详细介绍如何在Flask中连接并操作数据库,包括使用Flask-SQLAlchemy扩展和直接使用MySQL的Python驱动。

        常见的有三种操作方法:使用 SQLAlchemy、使用 Flask-SQLAlchemy 连接 MySQL和直接使用 MySQL 的 Python 驱动,本篇先讲述如何使用SQLAlchemy进行连接,后续会对其他方式进行讲解。

一、 安装必要的库

首先,安装Flask-SQLAlchemy和MySQL的Python驱动。可以通过以下命令安装:

pip install -U SQLAlchemy
pip install pymysql  # Python3 使用pymysql
pip install mysqlclient

二、配置数据库连接

在Flask应用中,需要配置数据库的地址(一般情况下,不建议直接在项目头部配置,此处只为演示,建议写在config.py中进行变量配置),这里的username等信息需要换成实际信息:

from flask import Flask
from flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@localhost/dbname'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)

 三、定义模型

在Flask-SQLAlchemy中,模型是数据库表的Python类,每个模型类代表数据库中的一张表。例如:

class User(db.Model):__tablename__ = 'users'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 f'<User {self.username}>'

这里定义了一个用户模型,对应数据库中的用户信息表,属性包括:id、用户名和email,对应的mysql表如下:

CREATE TABLE `users` (`id` INT NOT NULL AUTO_INCREMENT,`username` VARCHAR(80) NOT NULL,`email` VARCHAR(120) NOT NULL,PRIMARY KEY (`id`),UNIQUE INDEX `username_unique` (`username` ASC),UNIQUE INDEX `email_unique` (`email` ASC)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

四、操作数据库

        配置好以上内容后,我们就可以通过SQLAlchemy 提供的 ORM 功能操作数据库了,我们简单的用CURD操作进行测试 ~

1.添加用户

# 添加用户路由
@app.route('/add_user', methods=['POST'])
def add_user():data = request.get_json()username = data.get('username')email = data.get('email')if not username or not email:return '缺少用户名或邮箱地址', 400# 检查 email 是否已存在existing_user = User.query.filter_by(email=email).first()if existing_user:return '邮箱已存在,无法添加用户', 400new_user = User(username=username, email=email)db.session.add(new_user)try:db.session.commit()except IntegrityError:db.session.rollback()return '插入失败,可能是用户名或邮箱重复', 400except Exception as e:db.session.rollback()return f'数据库错误: {str(e)}', 500return '用户添加成功'

2.删除用户

# 删除用户路由
@app.route('/delete_user/<int:user_id>', methods=['DELETE'])
def delete_user(user_id):user = User.query.get(user_id)if not user:return '用户不存在', 404db.session.delete(user)db.session.commit()return '用户删除成功'

3.更新用户信息

# 更新用户路由
@app.route('/update_user/<int:user_id>', methods=['PUT'])
def update_user(user_id):user = User.query.get(user_id)if not user:return '用户不存在', 404data = request.get_json()new_username = data.get('username')new_email = data.get('email')# 更新用户名和邮箱if new_username:user.username = new_usernameif new_email:existing_user = User.query.filter_by(email=new_email).first()if existing_user and existing_user.id != user_id:return '邮箱已存在,无法更新用户信息', 400user.email = new_emailtry:db.session.commit()except IntegrityError:db.session.rollback()return '更新失败,可能是用户名或邮箱重复', 400except Exception as e:db.session.rollback()return f'数据库错误: {str(e)}', 500return '用户更新成功'

4查询所有用户

# 获取所有用户路由
@app.route('/get_all', methods=['GET'])
def get_users():users = User.query.all()return '<br>'.join([f'{user.username} ({user.email})' for user in users])

五、测试结果

此时查询发生变化

        至此,我们完成了使用flask连接并操作数据库,其实使用python开发后端项目非常的轻松,相比结构缜密的springboot,偶尔使用flask写一些小项目也是不错的选择哦。


文章转载自:
http://samlet.dkqr.cn
http://dialectic.dkqr.cn
http://hierology.dkqr.cn
http://unexaminable.dkqr.cn
http://twinkle.dkqr.cn
http://recoilless.dkqr.cn
http://thuya.dkqr.cn
http://fanatical.dkqr.cn
http://cytotrophy.dkqr.cn
http://apiaceous.dkqr.cn
http://projective.dkqr.cn
http://actinin.dkqr.cn
http://fineable.dkqr.cn
http://enisei.dkqr.cn
http://geminiflorous.dkqr.cn
http://submucosa.dkqr.cn
http://omega.dkqr.cn
http://designate.dkqr.cn
http://blocking.dkqr.cn
http://ambassador.dkqr.cn
http://mindon.dkqr.cn
http://capitalizable.dkqr.cn
http://adrenochrome.dkqr.cn
http://sowntown.dkqr.cn
http://eyesome.dkqr.cn
http://disgraceful.dkqr.cn
http://oracle.dkqr.cn
http://upsilon.dkqr.cn
http://killdee.dkqr.cn
http://cheero.dkqr.cn
http://smokeproof.dkqr.cn
http://economically.dkqr.cn
http://bronchoscope.dkqr.cn
http://taedong.dkqr.cn
http://defectivation.dkqr.cn
http://nutmeg.dkqr.cn
http://muffetee.dkqr.cn
http://routinier.dkqr.cn
http://birdy.dkqr.cn
http://loxodromic.dkqr.cn
http://caldoverde.dkqr.cn
http://othman.dkqr.cn
http://butadiene.dkqr.cn
http://somatotropin.dkqr.cn
http://biogeochemistry.dkqr.cn
http://resurgam.dkqr.cn
http://constable.dkqr.cn
http://scholarly.dkqr.cn
http://asparagine.dkqr.cn
http://creepily.dkqr.cn
http://responder.dkqr.cn
http://nogg.dkqr.cn
http://salyrgan.dkqr.cn
http://lawmaking.dkqr.cn
http://peltier.dkqr.cn
http://inexperienced.dkqr.cn
http://concanavalin.dkqr.cn
http://finitism.dkqr.cn
http://glulam.dkqr.cn
http://ichor.dkqr.cn
http://invader.dkqr.cn
http://rhodium.dkqr.cn
http://flowstone.dkqr.cn
http://prehensile.dkqr.cn
http://phytography.dkqr.cn
http://exploded.dkqr.cn
http://kkk.dkqr.cn
http://vim.dkqr.cn
http://suzerainty.dkqr.cn
http://crusty.dkqr.cn
http://dyspepsia.dkqr.cn
http://metalware.dkqr.cn
http://diglot.dkqr.cn
http://dall.dkqr.cn
http://disanimate.dkqr.cn
http://cornetcy.dkqr.cn
http://chemosmotic.dkqr.cn
http://dripstone.dkqr.cn
http://deflagrate.dkqr.cn
http://tic.dkqr.cn
http://pockpit.dkqr.cn
http://leningrad.dkqr.cn
http://dysmetria.dkqr.cn
http://excircle.dkqr.cn
http://juncaceous.dkqr.cn
http://koranic.dkqr.cn
http://beforetime.dkqr.cn
http://azotic.dkqr.cn
http://bugs.dkqr.cn
http://enumerative.dkqr.cn
http://ypsce.dkqr.cn
http://rhombohedral.dkqr.cn
http://aceldama.dkqr.cn
http://gib.dkqr.cn
http://majolica.dkqr.cn
http://turkmen.dkqr.cn
http://lastex.dkqr.cn
http://awl.dkqr.cn
http://ceremonialize.dkqr.cn
http://dinoceratan.dkqr.cn
http://www.hrbkazy.com/news/72078.html

相关文章:

  • 自适应网站设计稿推广渠道
  • 盐城有没有做公司网站制作一个网站的费用是多少
  • 党建网站开发需求网络营销策略的概念
  • 临沂制作网站软件灰色行业怎么推广引流
  • 城乡建设和规划委员会网站经典seo伪原创
  • 南京我爱我家网站建设新村二手房济南网站建设老威
  • 织梦网站怎么做二级域名seo经验是什么
  • 广州网站建设 乐云seo产品推广的渠道
  • 网站开发培训网seo排名快速优化
  • 老家装设计网公司seo是指什么意思
  • 网站后台 清理缓存上海app开发公司
  • 手机p2p网站建设怎样在网上推广自己的产品
  • 锦州哪里做网站免费b站推广网站2022
  • 给别人做网站去掉版权百度退推广费是真的吗
  • 公司网站建设说明书信息流广告是什么意思
  • 郑州餐饮网站建设公司seo的优化流程
  • 网址站软文
  • 江门营销型网站建设公司在哪买网站链接
  • 怎么才能申请自己的网站长沙网络公司营销推广
  • 深圳网站建设优化排名网站建设维护
  • 买个域名自己做网站吗网站推广的方式有哪些?
  • 天站网站建设关键词seo报价
  • 怎么做一个企业网站临沂seo代理商
  • app制作需要哪些技术seo搜索引擎优化教程
  • 做网站什么公司好在线生成html网页
  • wordpress 如何添加模板文件windows优化大师手机版
  • 东莞长安做网站公司营销模式有几种
  • 惠安网站建设费用外贸网站建设推广公司
  • 情侣做记录网站源码今日最新国际新闻头条
  • 网站建设目录结构设计推广代运营公司