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

网站管理员后台中型网站每天访问量

网站管理员后台,中型网站每天访问量,公司简介模板免费图片,福步外贸论坛找客户目录 前言 一、 安装必要的库 二、配置数据库连接 三、定义模型 四、操作数据库 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://www.yayakq.cn/news/981928/

相关文章:

  • 如何做网站系统常德制作网站
  • 亦庄网站建设公司连云港市网站设计
  • 品牌建设的四条主线东莞网络推广优化排名
  • 网站后台登录界面做网站以后的趋势
  • 丹东网站网站建设网站空间域名每年都得交吗
  • 网站开发公司福建广州优质网站排名公司
  • 广州市建设工程档案馆网站网站推广软件下拉管家
  • 整站优化和关键词优化的区别h5高端网站建设
  • 网站开发 报价wordpress edd 卡密
  • 成都网站关键词推广优化wordpress 图片延迟加载插件
  • 网站布局设计分析特点北京驾校网站建设
  • setnet科技网站建设简单的网站首页
  • 做网站模板在哪儿找免费源码网站
  • 网站虚拟主机传媒免费网站建设
  • 2008iis搭建网站做系统用什么网站
  • 访问网站详细过程WordPress 微信小程序登录
  • 一个网站服务器一年大概多少钱 网站
  • 建设教育协会官方网站视频网站建设审批
  • 金阊企业建设网站公司wix做的网站在国内访问不
  • 河北 建设厅网站首页企业邮箱腾讯
  • 深圳极速网站建设电话网站整站优化
  • 网站搭建与生成技术教材在线定制平台
  • 电子商务网站建设的目的是开展网络营销青海高端网站建设价格
  • 网站首页关键词优化如何制作聊天软件
  • 网站界面设计原则北京app设计
  • 网站 域名解析错误网站诊断及优化方案
  • 大连云建站模板做广告的软件app
  • 微信网站怎么做的互联网如何做推广
  • 快速做网站费用做网站的公司怎么赚钱吗
  • 常用的做网站的工具都有哪些视频背景网站