flask入门(四)前后端数据传输
文章目录
- 1、flask后端接收来自前端的数据
- 1)如果前端提交的方法为POST
- 2)如果前段提交的方法是GET
- 2、flask后端向前端传数据
- 3、案例
- 参考文献
1、flask后端接收来自前端的数据
1)如果前端提交的方法为POST
后端接收时的代码:
xx=request.form.get('xx');
xx=request.form['xx']
2)如果前段提交的方法是GET
xx=request.args.get(xx)
2、flask后端向前端传数据
传送单个数据:
return render_template('html文件',xx='xx')
传送多个数据:先把数据写进字典,字典整体进行传输
return render_template('html文件',xx='字典变量')
3、案例
目录结构:

index.py文件:
# --*-- coding:utf-8 --*--
# @Author : 一只楚楚猫
# @File : index.py
# @Software : PyCharmfrom flask import *
from sentence_transformers import SentenceTransformer
import torch.nn as nn
import torch
import torch.nn.functional as Fmodel = SentenceTransformer(r'E:\楚楚猫\code\python\01design\01creativity\01distance\all-MiniLM-L6-v2')app = Flask(__name__)result = dict()
result["results"] = ""@app.route('/', methods=('GET', 'POST'))
def index():global resultif request.method == 'POST':step1 = request.form.get("step1")step2 = request.form.get("step2")step3 = request.form.get("step3")step4 = request.form.get("step4")# 用户输入的内容sentences = [step1, step2, step3, step4]results = list()# 384维embeddings = torch.FloatTensor(model.encode(sentences))# p=2就是计算欧氏距离,p=1就是曼哈顿距离euclidean_distance = nn.PairwiseDistance(p=2)for i in range(0, embeddings.size()[0]):for j in range(i + 1, embeddings.size()[0]):cosine_similarity = round(F.cosine_similarity(embeddings[i], embeddings[j], dim=0).item(), 4)distance = round(euclidean_distance(embeddings[i], embeddings[j]).item(), 4)results.append(f"step{i + 1} & step{j + 1}的相关性:{cosine_similarity} step{i + 1} & step{j + 1}的距离:{distance}")print(f"step{i + 1} & step{j + 1}之间的相关性:{cosine_similarity}step{i + 1} & step{j + 1}之间的距离:{distance}")result["results"] = resultsreturn render_template('hello.html', result=result)return render_template('hello.html', result=result)if __name__ == '__main__':app.run(port=11252)
hello.html文件:
<!DOCTYPE html>
<html lang="en">
<meta charset="utf-8">
<head><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/><meta http-equiv="content-type" content="text/html;charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><title>欢迎来到我的世界</title><link href="../static/css/style.css" rel="stylesheet" type="text/css">
</head><div id="container"><div id="output"><div class="containerT"><h1>Yimo</h1><form class="form" id="entry_form" method="post"><h2><input type="text" name="step1" style="height:30px"></h2><br><h2><input type="text" name="step2" style="height:30px"></h2><br><h2><input type="text" name="step3" style="height:30px"></h2><br><h2><input type="text" name="step4" style="height:30px"></h2><br><center><button><h3>Click me!(๑•̀ㅂ•́)و✧</h3></button></center>{{result.results}}</form></div></div>
</div></body>
</html>
上面涉及到的sentence_transformers模块来自论文:《Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks》,使用孪生网络(Siamse Network)将两个文本映射到特征空间得到特征向量(384维)
参考文献
1、flask 前端(html)与后端(python)相互传数据:https://www.cnblogs.com/zzai/p/html_dataStream.html
2、如何从Python发布数据并进入Flask前端:https://www.cnpython.com/qa/1513860
相关文章:
flask入门(四)前后端数据传输
文章目录 1、flask后端接收来自前端的数据1)如果前端提交的方法为POST2)如果前段提交的方法是GET 2、flask后端向前端传数据3、案例参考文献 1、flask后端接收来自前端的数据 1)如果前端提交的方法为POST 后端接收时的代码: xx…...
JS——垃圾回收的原理
引言 JavaScript是一种高级的、解释型的编程语言,广泛应用于网页开发和移动应用开发中。在JavaScript中,内存管理是一个重要的话题,而垃圾回收就是内存管理的一部分。本文将介绍JavaScript垃圾回收的原理,并提供一些示例代码来帮助…...
Spring Cloud Gateway 路由构建器的源码分析
Spring Cloud Gateway 路由构建器的源码分析 文章目录 1. 路由构建器的入口2. 创建路由规则3. 设置路由规则和属性4. 路由过滤器的设置5. 构建和获取路由规则:6. 实例化路由构建器:8. 路由构建器的源码分析8.1 RouteLocator接口8.2 RouteLocatorBuilder…...
IT行业哪个方向比较好就业?
IT行业哪个方向比较好就业? IT行业里,哪些方向更好就业,这是一个很常见也很重要的问题。不同的IT方向有不同的技能要求、就业前景和发展空间,因此需要根据自己的兴趣、能力和目标来选择合适的方向。 软件开发与工程:软件开发是…...
uniapp中nvue页面使用fixed后,数据更改不更新到该视图。
解决方案:position: fixed;定位改成position: absolute; 记录一下,遇到这个贼离谱的问题,uniapp项目里的nvue页面因为要弄个引导蒙版,所以使用了fixed定位,点击蒙版关闭,加了this.$forceUpdate()也不行&am…...
力扣第55题 跳跃游戏 c++ 贪心 + 覆盖 加暴力超时参考
题目 55. 跳跃游戏 中等 相关标签 贪心 数组 动态规划 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true &…...
系列十四、Redis的集群(一)
一、是什么 1.1、概述 由于数据量过大,单个master-slave模式难以承担,当出现master节点故障的一瞬间,哨兵重新选举新的master节点之前,这一小段时间将会导致Redis服务不可用,因此需要对多个master-slave主从复制集进行…...
红帽认证 | RHCE考试包括哪些内容?
Red Hat Certified Engineer(RHCE)考试是一项面向企业级系统管理员的认证考试,是认证Linux系统管理员技能的一种方式。 RHCE证书是Linux管理员领域中最受欢迎和最受认可的证书之一。 那RHCE考试都有哪些内容呢,一起来看看吧&…...
ASPICE标准快速掌握「3.1. 实践示例」
实践示例 本章内容是最重要的,建议慢下来跟着博主的思路一步一步前进 1. 示例背景说明 假设我们现在是一个Tier1的车窗控制软件开发商,我们给OEM提供软件解决方案 1.1. 本过程目标 根据客户、上级部门、安全团队与质量团队等提出的要求,本项目要求SYS.1过程达到ASPICE过…...
pytorch 训练可视化
pytorch 训练可视化 1.from torch.utils.tensorboard 1.from torch.utils.tensorboard from torch.utils.tensorboard import SummaryWriter在最新版本的pytorch中官方提供了tensorboard的api。以下是官方教程的链接 https://pytorch.org/tutorials/intermediate/tensorboard…...
webgis开发参考资料
一、ArcGIS相关 1、ArcGIS for Server 10.3.X 新型紧凑型缓存的解读和应用 http://zhihu.geoscene.cn/article/1038 2、arcgis server 紧促(bundle)格式缓存文件的读取 https://blog.csdn.net/abc553226713/article/details/8668839 3、ArcGIS 10.0紧…...
JSX 注意事项
学习目标: 掌握 JSX 实际开发过程中的一些注意事项 1. JSX 必须具有一个根节点,如果没有根节点可以使用<></>(幽灵节点)代替根节点将所有元素包裹起来 function App() {return (<><div className"App">1</div&…...
MQ常见的问题(kafka保证消息不丢失)
MQ常见的问题 1,mq如何避免消息堆积问题。 消息堆积:生产者的生产速率远远大于消费者的消费速率,使消息大批量的堆积在消息队列。 解决方案:1,提升消费者的消费速率(增加消费者集群) 2&…...
Unity编辑器扩展 --- AssetPostprocessor资源导入自动设置
unity导入资源的编辑器设置: 防止策划资源乱导入,资源导入需要的格式,统一资源管理 AssetPostprocessor资源导入管线 AssetPostprocessor用于在资源导入时自动做一些设置,比如当导入大量图片时,自动设置图片的类型,大小等。Ass…...
用Flask快速生成报表
一、前言 《用Python快速生成报表之一》 我们介绍了用html-table快速生成表格数据报表,今天我们再介绍一下用Python Flask 快速开发报表,使用的是最古老的套页面方式。 二、Flask快速生成报表 Python有N多Web框架,最强大最出名的是Django&…...
关于时序预测可解释性预测
本文做一些论文收集使用,先更新一两篇 论文 1 Learning Structured Components: Towards Modular and Interpretable Multivariate Time Series Forecasting 论文地址: https://browse.arxiv.org/pdf/2305.13036.pdf 论文代码:https://gi…...
泊车功能专题介绍 ———— AVP系统技术要求之场地规范定位要求
文章目录 停车场场地规范场地分级规范场地标识规范位置标识跨层标识十字路口标识丁字路口处标识闸口/收费口标识上下车点标识 定位功能要求环境要求定位精度要求场端定位要求道路自动驾驶定位要求泊车入位定位要求 车端定位要求道路自动驾驶定位要求泊车入位定位要求初始定位要…...
【STM32】时钟设置函数(寄存器版)
一、STM32时钟设置函数移植 1.时钟模块回顾 一个疑问 前面代码并没有设置时钟为什么可以直接使用。 2.时钟树 3.时钟树分析 1.内部晶振(HSI) 内部晶振不稳定,当我们上电后,会自动产生振动,自动产生时钟,…...
【DDD】贫血模型和充血模型
基于业务开发的项目大多是MVC架构的。成为Web项目的标准开发模式,但它却是违反面向对象编程风格的,是面向过程的。之后基于领域驱动设计开发模式被人提倡。 DDD(Domain-driven design)领域驱动设计是一种通过将实现连接到持续进化…...
【JS学习】字符串的substring方法
1. 介绍 substring 是JavaScript字符串对象的一个方法,用于从一个字符串中提取子字符串,并返回提取的部分。 可以使用 substring 方法来截取字符串的一部分,指定起始索引和结束索引(或只指定起始索引)。 这个方法不…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...
uniapp 小程序 学习(一)
利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...
Oracle11g安装包
Oracle 11g安装包 适用于windows系统,64位 下载路径 oracle 11g 安装包...
boost::filesystem::path文件路径使用详解和示例
boost::filesystem::path 是 Boost 库中用于跨平台操作文件路径的类,封装了路径的拼接、分割、提取、判断等常用功能。下面是对它的使用详解,包括常用接口与完整示例。 1. 引入头文件与命名空间 #include <boost/filesystem.hpp> namespace fs b…...
Python第七周作业
Python第七周作业 文章目录 Python第七周作业 1.使用open以只读模式打开文件data.txt,并逐行打印内容 2.使用pathlib模块获取当前脚本的绝对路径,并创建logs目录(若不存在) 3.递归遍历目录data,输出所有.csv文件的路径…...
java+webstock
maven依赖 <dependency><groupId>org.java-websocket</groupId><artifactId>Java-WebSocket</artifactId><version>1.3.5</version></dependency><dependency><groupId>org.apache.tomcat.websocket</groupId&…...
react-pdf(pdfjs-dist)如何兼容老浏览器(chrome 49)
之前都是使用react-pdf来渲染pdf文件,这次有个需求是要兼容xp环境,xp上chrome最高支持到49,虽然说iframe或者embed都可以实现预览pdf,但为了后续的定制化需求,还是需要使用js库来渲染。 chrome 49测试环境 能用的测试…...
