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

Flask知识点2

1、flash()

get_flashed_messages() : 用来消耗flash方法中存储的消息

使用flash存储消息时,需要设置SECRET_KEY

flash 内部消息存储依赖了session

2、CSRF(Cross Site Request Forgery)   跨站请求伪造,指攻击者盗用你的身份发送恶意请求

CSRFProtect解决CSRF

<1>安装扩展包 flask-wtf

from flask_wtf.csrf import CSRFProtect

<2>设置SECRET_KEY便于设置CSRF token: 

app.config['SECRET_KEY'] ='ssddddaaddsa'

<3>创建CSRFProtect对象,保护app对象:CSRFProtect(app)

<4>在表单中设置csrf_token即可:

<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">

3、ORM(Sqlalchemy) 对象关系映射

优点:不在编写sql,无需关心数据库类型

缺点:性能有缺失

配置步骤:

from flask_sqlalchemy import SQLAlchemy
from flask import Flaskapp = Flask(__name__)
app.app_context().push()
#配置数据库信息,这里是mysql
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:abin0033@127.0.0.1:3306/mydatabase'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
#是否显示底层的sql语句
app.config['SQLALCHEMY_ECHO'] = True
app.config['SECRET_KEY'] = 'abin'
#关联app
db = SQLAlchemy(app)
#编写模型类
class User(db.Model):__tablename__ = "userinfo"id = db.Column(db.Integer, primary_key=True)userid = db.Column(db.String(50), nullable=False) #不能为空password = db.Column(db.String(50), nullable=False)if __name__ == "__main__":#创建表db.create_all()#删除表db.drop_all()

4、数据库的增删改

常见方法:

db.session.add(obj) #添加单个

db.session.add_all([obj1,obj2]) #添加多个

db.session.delete()#删除单个对象

db.session.commit()#提交会画

db.drop_all()#删除继承自db.Model所有表

db.create_all()#创建继承自db.Model所有表

db.session.rollback() #回滚

db.session.remove()#移除会话

5、数据库的查询

基本查询:模型.query.查询过滤器.查询执行器

查询过滤器(可写):filter()、filter_by()、limit()、offset()、order_by()、group_by()

查询执行器(必写):all()、first()、first_or_404()、get()、get_or_404()、count()、

paginate()(分页)

xxx.query.paginate(page,per_page,Error_out)

page:总页数;per_page:当前页;Error_out:建议false,查询不到不会报错

数据库关系查询relationship,在模型类中添加,不会在数据库产生实体字段

db.relationship('多方的模型类', backref=‘xxx’)

backref='xxx'  添加反向属性,表示反向查询

懒查询lazy

使用了relationship,backref,系统会自动做子查询,即将关联的一方查询出来

db.relationship('多方的模型类', backref=‘xxx’, lazy='dynamic')

dynamic:动态查询,只有用到了才会查询

subquery:子查询,查询出一方就会将关联的一方查询出来

相关文章:

Flask知识点2

1、flash() get_flashed_messages() : 用来消耗flash方法中存储的消息 使用flash存储消息时&#xff0c;需要设置SECRET_KEY flash 内部消息存储依赖了session 2、CSRF(Cross Site Request Forgery) 跨站请求伪造&#xff0c;指攻击者盗用你的身份发送恶意请求 CSRFProt…...

R语言生物群落(生态)数据统计分析与绘图(从数据整理到分析结果展示)

R 语言作的开源、自由、免费等特点使其广泛应用于生物群落数据统计分析。生物群落数据多样而复杂&#xff0c;涉及众多统计分析方法。以生物群落数据分析中的最常用的统计方法回归和混合效应模型、多元统计分析技术及结构方程等数量分析方法为主线&#xff0c;通过多个来自经典…...

代码随想录训练营Day58| 739. 每日温度 496.下一个更大元素 I

目录 学习目标 学习内容 739. 每日温度 496.下一个更大元素 I 学习目标 739. 每日温度 496.下一个更大元素 I 学习内容 739. 每日温度 739. 每日温度 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/daily-temperatures/ class Solution:def da…...

设计模式-命令模式

命令模式 问题背景命令模式基本介绍UML类图 解决方案UML类图代码示例 问题背景 1&#xff09;随着现在科技越来越先进&#xff0c;我们在家庭中对物品的开关都不需要亲自走过去来进行了。我们只需要通过手机APP中的按键来远程执行这个命令。 2&#xff09;其实这就是命令模式&…...

软考——下午题部分,例题一,二,三,六

例题一 11年上半年 病人&#xff0c;护理人员&#xff0c;医生 D 生命体征范围文件 日志文件 病历文件 治疗意见文件 14年上 E1 巴士司机,2 机械师,3 会计,4 主管,5 库存管理系统 D 巴士列表文件 维修记录文件 部件清单 人事档案 14年下 1 客户 2 供应商 D 销售订单表 库存…...

关于render: h => h(App)的解释

当我们第一次安装完脚手架&#xff0c;打开 的时候&#xff0c;我相信&#xff0c;一定有小伙伴和我一样&#xff0c;看到main.js里面的render: h > h(App),感觉懵懵的。 因为&#xff0c;在刚开始接触vue的时候&#xff0c;我们这里是这样写的&#xff1a; 而使用了脚手…...

flask实现简易图书管理系统

项目结构 技术选型 flask 做后端, 提供数据和渲染html 暂时没有提供mysql, 后续会更新操作mysql和样式美化的版本 起一个flask服务 flask是python的一个web框架, 下面演示如何提供http接口, 并返回json数据 main.py # flask创建http接口 from flask import Flask, request, jso…...

2021 年全国大学生物联网设计竞赛(华为杯)全国总决赛获奖名单

由全国高等学校计算机教育研究会主办&#xff0c;上海交通大学承办&#xff0c;华为技术有限 公司协办&#xff0c;中国电信天翼物联、中国移动中移物联网、霍尼韦尔 Tridium、CSA 联盟、新大陆、德州仪器 (TI)、百度、机械工业出版社华章公司联合支持的 2021 全国大学生物联网…...

操作系统复习2.3.5-管程

引入管程 PV操作困难&#xff0c;容易书写出错&#xff0c;引入管程&#xff0c;作为一种高级同步机制 组成 局限于管程的共享数据结构说明对该数据结构进行操作的一组过程对局部于管程的共享数据结构设置初始值的语句管程有一个名字 基本特征 局限于管程的数据只能被局限…...

List Set Map Queue Deque 之间的区别是什么?

List Set Map Queue Deque 之间的区别是什么&#xff1f; 1. Java 集合框架有那些接口&#xff1f;2. List Set Map Queue Deque 之间的区别是什么&#xff1f; 1. Java 集合框架有那些接口&#xff1f; List、Set、Map、Queue、Deque 2. List Set Map Queue Deque 之间的区别…...

unity行为决策树实战详解

一、行为决策树的概念 行为决策树是一种用于游戏AI的决策模型&#xff0c;它将游戏AI的行为分解为一系列的决策节点&#xff0c;并通过节点之间的连接关系来描述游戏AI的行为逻辑。在行为决策树中&#xff0c;每个节点都代表一个行为或决策&#xff0c;例如移动、攻击、逃跑等…...

Spring学习记录

目录 bean的单例与多例 设置 工厂模式的三种形态 简单工厂模式 代码&#xff1a; 运行结果&#xff1a; 总结&#xff1a; 工厂模式 代码&#xff1a; 运行结果&#xff1a; 总结&#xff1a; 抽象工厂模式 代码&#xff1a; 运行结果&#xff1a; 总结&#xff1a; …...

模板方法-

定义&#xff1a;又叫模板模式,是指定义一个算法骨架,并允许子类为其中的一个或多个步骤提供实现。 适用场景&#xff1a; 1、一次性实现一个算法不变的部分,并将可变的行为留给子类来实现 2、各子类中公共的行为被提取出来并集中到一个公共的父类中,从而避免代码重复 优点…...

[Kubernetes] - RabbitMQ学习

1.消息队列 消息&#xff1a; 在应用间传送的数据队列&#xff0c;先进先出 1.2. 作用 好处&#xff1a;解耦&#xff0c; 容错&#xff0c;削峰坏处&#xff1a;降低系统可用性&#xff0c;系统复杂度提高&#xff0c;一致性问题&#xff1b; RabbitMQ组成部分&#xff1a…...

swagger页面 doc.html出不来,swagger-ui/index.html能出来

swagger页面 doc.html出不来&#xff0c;swagger-ui/index.html能出来。前前后后折腾了很久&#xff0c;jar包冲突&#xff0c;jar包版本&#xff0c;添加路径啥的都弄了&#xff0c;就是出不来。 后来全局搜索“doc.html”页面发现能出来的项目能搜到这个页面&#xff1a; 定…...

IEEE802.3和IEEE802.11的分类(仅为分类)

IEEE802.3标准 IEEE802.3:10兆以太网 ●10Base&#xff0d;5 使用粗同轴电缆&#xff0c;最大网段长度为500m&#xff0c;基带传输方法&#xff1b; ●10Base&#xff0d;2 使用细同轴电缆&#xff0c;最大网段长度为185m&#xff0c;基带传输方法&#xff1b; ●10Base&am…...

c# cad二次开发通过获取excel数据 在CAD绘图,将CAD属性导出到excel

c# cad二次开发通过获取excel数据 在CAD绘图&#xff0c;将CAD属性导出到excel using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.Runtime; using System; using System.Collections.Generic; using System.Linq; us…...

LLM之高性能向量检索库

LLM向量数据库 高性能向量检索库milvus简介安装调用 faiss简介安装调用 高性能向量检索库 milvus 简介 Milvus 是一个开源的向量数据库引擎&#xff0c;旨在提供高效的向量存储、检索和分析能力。它被设计用于处理大规模的高维向量数据&#xff0c;常用于机器学习、计算机视觉…...

实体类注解

目录 一、TableField注解 二、TableId注解 三、Table注解 四、TableLogic注解 五、Getter与Setter注解 六、EqualsAndHashCode注解 七、Accessors注解 一、TableField注解 Data NoArgsConstructor //空参构造方法 AllArgsConstructor //全参构造方法 TableName("t…...

常见数据结构种类

常见数据结构种类 数据存储的常用结构有&#xff1a;栈、队列、数组、链表和红黑树 a.队列&#xff08;queue&#xff09; – 先进先出&#xff0c;后进后出。 – 场景&#xff1a;各种排队。叫号系统。 – 有很多集合可以实现队列。 b.栈&#xff08;stack&#xff09; – …...

电容耦合等离子刻蚀(CCP)在先进芯片制造中的关键作用与工艺优化

1. 电容耦合等离子刻蚀&#xff08;CCP&#xff09;技术解析 第一次接触CCP刻蚀设备时&#xff0c;我被它那看似简单却暗藏玄机的结构震撼到了——两块金属电极板&#xff0c;加上射频电源&#xff0c;就能实现纳米级的精密加工。这种利用电容耦合原理产生等离子体的技术&#…...

StructBERT中文情感识别效果展示:电影评论情感极性与票房相关性验证

StructBERT中文情感识别效果展示&#xff1a;电影评论情感极性与票房相关性验证 1. 项目概述与背景 StructBERT 情感分类 - 中文 - 通用 base 是百度基于 StructBERT 预训练模型微调后的中文通用情感分类模型&#xff0c;专门用于识别中文文本的情感倾向。这个模型在中文 NLP…...

ZGC在超大堆(>16TB)下的隐性崩溃风险:JDK17~21版本兼容性断层分析(仅限内测团队知晓)

第一章&#xff1a;ZGC在超大堆&#xff08;>16TB&#xff09;下的隐性崩溃风险&#xff1a;JDK17~21版本兼容性断层分析&#xff08;仅限内测团队知晓&#xff09;当堆内存突破16TB阈值后&#xff0c;ZGC在JDK17至JDK21的多个GA版本中暴露出未公开的元数据结构越界行为——…...

自动驾驶小白必看:航向角、偏航角、前轮转角到底有什么区别?

自动驾驶入门&#xff1a;航向角、偏航角与前轮转角的本质差异与应用解析 刚接触自动驾驶技术时&#xff0c;最让人困惑的莫过于那些描述车辆方向的专业术语——航向角、偏航角、前轮转角&#xff0c;它们看起来相似却又各有所指。理解这些概念不仅是掌握车辆控制的基础&#…...

3步实现视频硬字幕精准提取:本地化多语言解决方案如何解决你的字幕难题

3步实现视频硬字幕精准提取&#xff1a;本地化多语言解决方案如何解决你的字幕难题 【免费下载链接】video-subtitle-extractor 视频硬字幕提取&#xff0c;生成srt文件。无需申请第三方API&#xff0c;本地实现文本识别。基于深度学习的视频字幕提取框架&#xff0c;包含字幕区…...

Git-RSCLIP入门到精通:从基础地物识别到复杂场景分析全流程解析

Git-RSCLIP入门到精通&#xff1a;从基础地物识别到复杂场景分析全流程解析 1. 遥感智能分析的新利器 在遥感图像分析领域&#xff0c;传统方法往往需要大量标注数据和复杂的模型训练流程。Git-RSCLIP的出现彻底改变了这一局面&#xff0c;它基于先进的SigLIP架构&#xff0c…...

Windows 11 + CUDA 12.1 保姆级教程:手把手搞定Detectron2环境搭建(含Git加速与权限避坑)

Windows 11 CUDA 12.1 终极指南&#xff1a;零障碍搭建Detectron2开发环境 RTX 40系显卡用户注意了&#xff01;如果你正在Windows 11上尝试搭建Detectron2开发环境&#xff0c;却苦于找不到针对CUDA 12.1的完整解决方案&#xff0c;这篇指南将为你扫清所有障碍。不同于网上那…...

车载Java OTA升级崩溃率从18.7%降至0.3%:基于Delta Patch + 类隔离热修复的4步标准化流程

第一章&#xff1a;车载Java OTA升级崩溃率从18.7%降至0.3%&#xff1a;基于Delta Patch 类隔离热修复的4步标准化流程在车载嵌入式Java环境&#xff08;JVM 11&#xff0c;ART兼容层&#xff09;中&#xff0c;OTA升级引发的ClassCastException与NoClassDefFoundError曾导致高…...

Nunchaku FLUX.1-dev GPU算力优化:TensorRT加速推理实测对比

Nunchaku FLUX.1-dev GPU算力优化&#xff1a;TensorRT加速推理实测对比 如果你正在使用Nunchaku FLUX.1-dev模型生成图片&#xff0c;可能会发现一个问题&#xff1a;生成速度不够快&#xff0c;特别是当你想批量出图或者尝试不同参数时&#xff0c;等待时间有点长。 今天我…...

基于GADF-CNN-GOSO-LSSVM的齿轮箱故障诊断方法探索

基于GADF-CNN-GOSO-LSSVM的齿轮箱故障诊断 首先&#xff0c;利用格拉姆角场差(GADF)时频分辨率高、可以深度反映时间序列内在结构和关系的特点&#xff0c;对采集到的一维故障数据信号转为二维图像&#xff0c;得到图像后并将图像进行降维处理&#xff1b;然后&#xff0c;将第…...