从0开始python学习-53.python中flask创建简单接口

目录

 

1. 创建一个简单的请求,没有写方法时默认为get

2. 创建一个get请求

3. 创建一个post请求,默认可以使用params和表单传参

4. 带有参数的post请求


 

1. 创建一个简单的请求,没有写方法时默认为get

from flask import Flask, request# 初始化一个flask的对象
app = Flask(__name__)@app.route("/")
def a():return "简单接口"  # 注意一定要有返回if __name__ == '__main__':app.run()

f1c6c044e98b4b4ca6d63d03609a5201.png

2. 创建一个get请求

from flask import Flask, request# 初始化一个flask的对象
app = Flask(__name__)@app.route("/get",methods=['get'])
def get():name = request.values.get('name')age = request.values.get('age')if name is None or name == '':return '姓名必填'elif age is None or age == '':return '年龄必填'else:return {'name为:':name,'age为:':age}if __name__ == '__main__':app.run()

e1de79d801a4414c989e262cb57b3885.png

3. 创建一个post请求,默认可以使用params和表单传参

from flask import Flask, request# 初始化一个flask的对象
app = Flask(__name__)@app.route("/post",methods=['post'])
def post():name = request.values.get('name')age = request.values.get('age')if name is None or name == '':return '姓名必填'elif age is None or age == '':return '年龄必填'else:return {'name为:':name,'age为:':age}if __name__ == '__main__':app.run()

d5bd465f28774315bfd69ad8b74d1b26.png

4. 带有参数的post请求

import timefrom flask import Flask, request, jsonify# 初始化一个flask的对象
app = Flask(__name__)# form参数的post接口
@app.route("/post_form",methods=['post'])
def post_form():name = request.form.get('name')age = request.form.get('age')if name is None or name == '':return '姓名必填'elif age is None or age == '':return '年龄必填'else:return {'name为:':name,'age为:':age}# json参数的post接口
@app.route("/post_json",methods=['post'])
def post_json():data = request.jsonif not all(key in data for key in ['name', 'age']):return jsonify({'error': '姓名和年龄是必填项'})return jsonify(data)# 文件上传的post接口
@app.route("/post_file",methods=['post'])
def post_file():# 获取需要上传的文件file = request.files.get('files')# 获取文件名filename = file.filename# 上传文件保存路径和格式(保证文件格式正常,使用切片的方式分段获取)with open("D:\\"+filename.split(".")[0]+"_"+str(int(time.time()))+"."+filename.split(".")[1],"wb") as f:f.write(file.read())return filename +'上传成功'if __name__ == '__main__':app.run()

 

 

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

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

相关文章

无人机基础技术,固定翼无人机动力系统技术详解,无人机飞行控制系统技术

推重比选择 推重比,是指无人机发动机推力/拉力与无人机飞行重力之比。该参数是衡量动力系统乃至整机性能的重要参数,很大程度上影响飞行性能。固定翼无人机的动力系统在配置时选择的推重比必须达到或超出设计的推重比。 重量要求 翼载荷是无人机单位面…

Siamrpn论文中文翻译(详细!)

High Performance Visual Tracking with Siamese Region Proposal Network Siamese地区建议网络的高性能视觉跟踪 说明 建议对照siamrpn(2018)原文阅读,翻译软件翻译出来的效果不好,整体阅读体验不佳,所以我对译文重…

开源免费的NTFS for mac工具mounty

开源免费的NTFS for mac工具mounty 安装依赖 brew install gromgit/fuse/ntfs-3g-macbrew install --cask macfuse安装mounty 如果已经安装macFUSE和ntfs-3g-mac,可以直接点击下载的dmg安装包,安装升级。第一次启动mounty,你需要接受一系列…

《TCP/IP详解 卷一》第4章 地址解析协议ARP

目录 4.1 引言 4.2 一个例子 4.3 ARP缓存 4.4 ARP帧格式 4.5 ARP例子 4.6 ARP缓存超时 4.7 代理ARP 4.8 免费ARP和地址冲突检测 4.9 ARP命令 4.10 使用ARP设置嵌入式设备IPv4地址 4.11 与ARP相关攻击 4.12 总结 4.1 引言 地址解析: IPv4:AR…

Android LinearLayout 如何让子元素靠下居中对齐 center bottom

Android LinearLayout 如何让子元素靠下居中对齐 center bottom 首先你需要知道两个知识点: android:layout_gravity 指定的是当前元素在父元素中的位置android:gravity 指定的是当前元素子元素的排布位置 比如: 有这么一个布局,我需要让…

基于生成扩散模型的分子对接程序-DiffDock安装及使用

欢迎浏览我的CSND博客! Blockbuater_drug …点击进入 文章目录 前言一、DiffDock是什么?二、DiffDock安装步骤1. 下载2.创建conda环境并安装STEP 1. 创建conda环境并配置STEP 2. 配置ESM和OpenFoldSTEP 3. 检查cuda和pytorch geometric安装STEP 4. 检查p…

AIGC 实战:Ollama 和 Hugging Face 是什么关系?

Ollama和 Hugging Face 之间存在着双重关系: 1. Ollama是 Hugging Face 开发并托管的工具: Ollama是一个由 Hugging Face 自行开发的开源项目。它主要用于在本地运行大型语言模型 (LLM),特别是存储在 GPT 生成的统一格式 (GPT-Generated Un…

单片机02_寄存器_GPIO设置__点灯

芯片概述 C51:0口、1口、2口、3口,P00~p07、P10~P17、P20~P27、P30~P37 STM32:A口、B口、C口、D口,PA0~PA15/PA5 GPIOA.5 STM32F407ZGT6有7组GPIO端口,分别是:A B C D E F G,每组均有16个GPIO端…

js设计模式:备忘录模式

作用: 封装的对象可以在对象触发行为时进行状态的记录与保存 也可以进行状态的回退,恢复之前的状态 示例: class Editor{constructor(){this.allText }edit(text){this.allText text}saveNow(){return new EditorText(this.allText)}backspacing(editorText){this.allText…

【k8s资源调度-StatefulSet】

1、部署对象StatefulSet资源(无状态应用) StatefulSet针对的是有状态应用,有状态应用会对我们的当前pod的网络、文件系统等有关联。 2、配置文件如下 StatefulSet资源的配置文件粗略如下,如下的配置信息包含了数据卷,…

python 3.7.3的安装

参考 Linux安装Python3.7-良许Linux教程网 (lxlinux.net) 1、Index of /ftp/python/3.7.9/ 1、安装gcc,yum -y install gcc 2、 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel…

有趣的CSS - 文字加载动画效果

大家好,我是 Just,这里是「设计师工作日常」,今天分享的是用 css 实现多字符模拟加载动画效果。 《有趣的css》系列最新实例通过公众号「设计师工作日常」发布。 目录 整体效果核心代码html 代码css 部分代码 完整代码如下html 页面css 样式页…