【星海出品】flask(一)demo

如何安装很早就讲过了,这里就省略了

创建虚拟环境

python -m venv ./venv

激活虚拟环境

source venv/Scripts/activate

退出虚拟环境

deactivate

打开一个vue项目,安装一些东西,然后启动

npm run serve
npm install element-plus --save
npm install axios --save
pip3 freeze > requirements.txt
cat requirements.txt
blinker==1.6.2
click==8.1.7
colorama==0.4.6
docx==0.2.4
fire==0.5.0
Flask==3.0.0
fonttools==4.39.3
itsdangerous==2.1.2
Jinja2==3.1.2
lxml==4.9.2
MarkupSafe==2.1.3
mod-wsgi @ file:///C:/Users/wang/Downloads/mod_wsgi-4.9.2-cp310-cp310-win_amd64.whl#sha256=fcb20934ba7e732d9407644f2e40dd73beac04013590ead5e16546a160411684
numpy==1.24.3
opencv-python==4.7.0.72
pdf2docx==0.5.6
Pillow==9.5.0
PyMuPDF==1.22.2
python-docx==0.8.11
six==1.16.0
termcolor==2.3.0
Werkzeug==3.0.0

写了一个简单的flask接口
命名随便命名,python直接启动就可。
企业级别启动会涉及到并发等问题。
可以使用 gunicorn 组件来启动。
详细功能可自己百度 gunicorn 的详细功能。

from flask import Flask,request
from flask import render_template
from flask import jsonifyapp = Flask(__name__)
app.config['JSON_AS_ASCII'] = False  # 禁止中文转义@app.route('/')
def hello_world():return 'Hello World!'@app.route("/user/login", methods=["POST"])
def user_login():"""用户登录:return:"""data = request.get_json()userName = data.get("userName")password = data.get("password")if userName == "admin" and password == "123456":return jsonify({"code": 0,"data": {"token": "666666"}})else:return jsonify({"code": 99999999,"msg": "用户名或密码错误"})@app.route("/user/info", methods=["GET", "POST"])
def user_info():"""获取当前用户信息:return:"""token = request.headers.get("token")if token == "666666":return jsonify({"code": 0,"data": {"id": "1","userName": "admin","realName": "张三","userType": 1}})return jsonify({"code": 99990403,"msg": "token不存在或已过期"})@app.route('/my/blog/<blog_id>')
def blog_detail(blog_id):return 'you doing access {}'.format(blog_id)@app.route('/book/list')
def book_detail():page = request.args.get('page',default=1,type=int)return '你获取的是{}'.format(page)@app.route('/book/index')
def template():return render_template('book.html')if __name__ == '__main__':app.run(host="0.0.0.0",debug=True)
# 增加host="0.0.0.0"
# 提供了局域网IP网文

写了一个简单vue访问界面,使用axios访问。之前讲了VUE的使用,这里就不展开了,只显示了axios界面
更多功能详情自己查看axios的功能,UI设计可以直接套用阿里或其他公司等完善的UI组件,这里就不展开了。

<template><div><p>账号<input type="text" v-model="UserNameA"></p><p>密码<input type="text" v-model="PassWordA"></p><button type="primary" @click="getMsg"> 获取token </button><button @click="consoleLog"> 验证 {{CheckV}} </button><button type="primary" @click="getName">获取名字</button><div>用户名:{{ this.userName }}</div><div>姓名:{{ this.userRealName }}</div></div>
</template><script>
// @ is an alias to /src
import axios from "axios";
export default {data() {return {user: {},token: "null",CheckV: "",userName: "",userRealName: ""};},methods:{getMsg(){console.log(this.UserNameA),console.log(this.PassWordA),this.token = axios.post("/api/user/login",{"userName": this.UserNameA,"password": this.PassWordA},{headers:{},}).then((res) => {if (res.data.code === 0){this.token = res.data.data.token;}})},consoleLog(){console.log(this.token),this.CheckV = "True"},getName(){axios.post("/api/user/info",{},{headers: {token: this.token,},}).then((res) => {if (res.data.code === 0) {this.user = res.data.data;}});this.userName = this.user.userName,this.userRealName = this.user.realName},}
};
</script>

vue.config.js

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({transpileDependencies: true
})
module.exports = {devServer: {// 设置代理proxy: {"/api": {target: "http://localhost:5000", // 访问数据的计算机域名ws: true, // 是否启用websocketschangOrigin: true, //开启代理,pathRewrite: { // 重写代理规则,/api开头,代理到/'^/api': '/'// 例:/api/user/login代理到// http://localhost:5000/user/login}}}}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/137650.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个“Hello, World”Flask应用程序

如果您访问Flask网站&#xff0c;会看到一个非常简单的示例应用程序&#xff0c;只有5行代码。为了不重复那个简单的示例&#xff0c;我将向您展示一个稍微复杂一些的示例&#xff0c;它将为您编写大型应用程序提供一个良好的基础结构。 应用程序将存在于包中。在Python中&…

AIGC:使用生成对抗网络GAN实现MINST手写数字图像生成

1 生成对抗网络 生成对抗网络&#xff08;Generative Adversarial Networks, GAN&#xff09;是一种非常经典的生成式模型&#xff0c;它受到双人零和博弈的启发&#xff0c;让两个神经网络在相互博弈中进行学习&#xff0c;开创了生成式模型的新范式。从 2017 年以后&#x…

C# WebSocket 服务器

*******************websocket服务器************************************** 第一步&#xff1a;创建HttpListener类&#xff0c;并启动监听&#xff1a; var listener new HttpListener(); listener.Prefixes.Add("http://10.10.13.140:8080/"); …

论文浅尝 | 基于对多条思维链的元推理实现智能问答

笔记整理&#xff1a;屠铭尘&#xff0c;浙江大学硕士&#xff0c;研究方向为知识图谱 链接&#xff1a;https://arxiv.org/abs/2304.13007 1. 动机 1.1 Chain of Thought的诞生 尽管大语言模型在许多自然语言处理任务上表现出色&#xff0c;但由于其本质是token by token的类似…

使用easyui前端框架快速构建一个crud应用

本篇文章将会详细介绍jquery easyui前端框架的使用&#xff0c;通过创建一个crud应用来带大家快速掌握easyui的使用。 easyui是博主最喜欢的前端框架&#xff0c;没有之一&#xff0c;因为它提供了多种主题&#xff0c;而且有圆润的各种组件。 目录 一、快速开始 二、准备工作…

小程序如何设置下单提示语句

下单提示会展示在购物车和提交订单页面&#xff0c;它可以帮助商家告知客户事项&#xff0c;提高用户体验和减少错误操作。例如提示&#xff1a;商品是否包邮、某些区域是否发货、商品送达时间等等。 在小程序管理员后台->配送设置处&#xff0c;填写下单提示。在设置下单提…

flink的CoProcessFunction使用示例

背景 在flink中对两个流进行connect之后进行出处理的场景很常见&#xff0c;我们本文就以书中的一个例子为例说明下实现一个CoProcessFunction的一些要点 实现CoProcessFunction的一些要点 这个例子举例的是当收到某个传感器放行的控制消息时&#xff0c;从传感器传来的温度…

Java自学第8课:电商项目(3) - 重新搭建环境

由于之前用的jdk和eclipse&#xff0c;以及mysql并不是视频教程所采用的&#xff0c;在后面运行源码和使用作者提供源码时&#xff0c;总是报错&#xff0c;怀疑&#xff1a; 1 数据库有问题 2 jdk和引入的jar包不匹配 3 其他什么未知的错误&#xff1f; 所以决定卸载jdk e…

SQL入门语句

MySQL和SQL的区别是什么&#xff1f;之间是什么关系&#xff1f; SQL&#xff08;Structured Query Language&#xff09;是用于管理和操作关系型数据库&#xff08;RDBMS&#xff09;的标准语言。SQL还可以用于这些RDBMS&#xff1a;MySQL、Oracle、Microsoft SQL Server、Pos…

ios 开发问题小集 [持续更新]

文章目录 一、如何给列表上的UITableViewCell添加手势二、获取NSIndexPath的方式2.1 根据row, section 来创建2.2 根据point 的位置来找到 indexPath三、tableView在Grouped样式下,设置表头表尾空白一、如何给列表上的UITableViewCell添加手势 给cell添加手势,大家都会这么做…

Kafka中遇到的错误:

1、原因&#xff1a;kafka是一个去中心化结果的&#xff0c;所以在启动Kafka的时候&#xff0c;每一个节点上都需要启动。 启动的命令&#xff1a;kafka-server-start.sh -daemon /usr/local/soft/kafka_2.11-1.0.0/config/server.properties

AMESim 2021安装教程

主要是AMESim的安装 写在前面&#xff0c;由于项目需要&#xff0c;需要自学AMESim&#xff0c;因此需要安装这个软件&#xff0c;目前仅仅安装使用&#xff0c;还不涉及到与MATLAB的联合仿真&#xff0c;老板说用 RT LAB半实物仿真平台&#xff0c;但是简单搜了一下&#xff0…

Flutter笔记:绘图示例 - 一个简单的(Canvas )时钟应用

Flutter笔记 绘图示例 - 一个简单的&#xff08;Canvas &#xff09;时钟应用 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_2855…

如何记录血压的波动情况

import pandas as pd from plotnine import * import matplotlib.pyplot as plt plt.rcParams[font.sans-serif] [Microsoft YaHei] 记录时间(time)、收缩压(SBP)、舒张压(DBP)&#xff1a; df pd.DataFrame({ time: [2023-11-01 08:30, 2023-11-02 21:00, 2023-11-0…

正则表达式中(?s)与(?m)的区别

理论&#xff1a; (?m) 和 (?s) 是正则表达式中的两个模式标志&#xff0c;它们具有不同的作用&#xff1a; (?m) 多行模式标志&#xff08;也称为 “multiline” 模式&#xff09;&#xff1a; 默认情况下&#xff0c;正则表达式将整个输入字符串视为单行多行文本中使用…

前端-第一部分-HTML

一.初识HTML 1.1 HTML 简介 HTML 全称为 HyperText Mark-up Language&#xff0c;翻译为超文本标签语言&#xff0c;标签也称作标记或者元素。HTML 是目前网络上应用最为广泛的技术之一&#xff0c;也是构成网页文档的主要基石之一。HTML文本是由 HTML 标签组成的描述性文本&a…

力扣最热一百题——每日温度

Python后面的文章&#xff0c;内容都比较多&#xff0c;但是同时我又想保持每天更新的速度&#xff0c;所以Python的文章我继续打磨打磨&#xff0c;先更新一篇算法的文章。 一身正气报国家&#xff0c;旁无乱境不恋她 ヾ(◍∇◍)&#xff89;&#xff9e; 力扣题号&#xff1a…

css呼吸效果实现

实现一个图片有规律的大小变化&#xff0c;呈现呼吸效果&#xff0c;怎么用CSS实现这个呼吸效果呢 一.实现 CSS实现动态效果可以使用动画( animation)来属性实现&#xff0c;放大缩小效果可以用transform: scale来实现&#xff0c;在这基础上有了动画&#xff0c;就可以设置一个…

ps人像怎么做渐隐的效果?

photoshop怎么制作人像渐隐的图片效果&#xff1f;渐隐效果需要使用渐变来实现&#xff0c;下面我们就来看看详细的教程。 首先&#xff0c;我们打开Photoshop&#xff0c;点击屏幕框选的【打开】&#xff0c;打开一张背景图片。 下面&#xff0c;我们点击左上角【文件】——【…

Exploration by random network distillation论文笔记

Exploration by Random Network Distillation (2018) 随机网络蒸馏探索 0、问题 这篇文章提出的随机网络蒸馏方法与Curiosity-driven Exploration by Self-supervised Prediction中提出的好奇心机制的区别&#xff1f; 猜想&#xff1a;本文是基于随机网络蒸馏提出的intrin…