测开之路三十一:Flask基础之请求与相应
from flask import request
request.path
request.method
request.form
request.args
request.values
一般用form获取post的参数,用args获取get的参数,如果不想区分get和post,则用value获取
创建路由

访问

控制台

flask路由默认只支持get请求,而浏览器默认发的是get请求,所以没问题,在没有声明请求方法的情况下,当发post请求时,就会报405

在路由里面声明post请求,再访问


再看控制台

这个时候再用get请求,又报错

在路由里面把get也加上再访问


返回json字符串,如,把请求参数转json再返回
第一种方式,用python自带的json库

get

post

第二种方式,用flask里面的jsonify

get

post

使用get方法实现计算器,例如请求为http://localhost:8888/calculator?method=add&a=3&b=5则返回3+5=8,计算器支持四则运算:add\sub\mul\div

@app.route('/calculator')
def calculator():
data = request.values.to_dict()
mothod = data.get('method', 'add')
try:
a = float(data.get('a', 0))
b = float(data.get('b', 0))
if mothod == 'add':
return f'{a}+{b}={a+b}'
elif mothod == 'sub':
return f'{a}-{b}={a-b}'
elif mothod == 'mul':
return f'{a}*{b}={a*b}'
elif mothod == 'div':
return f'{a}/{b}={a/b}'
else:
return '不支持的运算'
except Exception as erro:
return str(erro)






测开之路三十一:Flask基础之请求与相应的更多相关文章
- 测开之路三十二:Flask基础之错误与重定向
错误处理,框架默认的错误为:not Found 可以捕获,并自定义 准备一张自定义图片,放在static文件夹下,并在template下创建一个html文件,引用该图片 捕获404状态,返回自定义页面 ...
- 测开之路三十:Flask基础之jinja2模板继承
实现某些位置的内容固定,某些位置的内容动态展示,如: 中文文档地址:http://docs.jinkan.org/docs/jinja2/templates.html#template-inherit ...
- 测开之路三十三:Flask实现扎金花游戏
访问http://localhost:8888/game随机获取一张扑克牌.豹子(炸弹):三张点相同的牌.例:AAA.222.顺金(同花顺.色托):花色相同的顺子.例:黑桃456.红桃789.最大的顺 ...
- 测开之路三十九:js基础
js的两种使用方式 第一种使用方式:单独写js文件 在static下新建一个js文件并写入内容 alert('这是一个弹窗'); 在html文件里面,用script标签引入 <script sr ...
- 测开之路九十一:css常用的选择器
一:全局选择器:* 二:标签选择器,如给所有p标签加个背景色 三:id选择器:# ,如给id为id_01的元素加一个框 四:类选择器:. 如设置一个类选择器为blue,当有标签引用blue的时候,背景 ...
- 测开之路六十一:接口测试平台之interface蓝图
create的js //添加header的函数function add_header() { // 这里是动态拼接html语句,带着样式,拼凑成页面的 "key [] value []&qu ...
- 测开之路三十八:css布局之定位
常用的布局方式: static:静态定位(默认),什么都不用管,元素会按照默认顺序排列,排不下是会默认换行relative:相对定位(同一层),相对于某一个元素进行定位fixed:绝对定位,指定位置a ...
- 测开之路三十六:常用的css选择器
在static下新建一个css,并写入内容 /*标签选择器,label标签的颜色为红色*/label {color: red;} /*.代表类选择器,绿色*/.test {color: green;} ...
- 测开之路八十一:参数定义之*args和**kwargs
# *,不定长参数,*args# 定义函数参数def avg(score, *scores): return (score + sum(scores)) / (len(scores) + 1) ...
随机推荐
- 爬虫(十一)—— 请求库(三)pypeteer请求库
曾经使用模拟浏览器操作(selenium + webdriver)来写爬虫,但是稍微有点反爬的网站都会对selenium和webdriver进行识别,网站只需要在前端js添加一下判断脚本,很容易就可以 ...
- 第五周课程总结&实验报告三
1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码.结果截图.) •统计该字符串中字母s出现的次数. •统计该字符串中子串" ...
- Excelvba从文件中逐行读取并写入excel中
Sub 読み込む() Dim result As Long Dim dialog As FileDialog Set dialog = Application.FileDialog(msoFileDi ...
- 为什么 Kafka 速度那么快?
来源:cnblogs.com/binyue/p/10308754.html Kafka的消息是保存或缓存在磁盘上的,一般认为在磁盘上读写数据是会降低性能的,因为寻址会比较消耗时间,但是实际上,Kafk ...
- Android -ui控件
一:TextView控件 TextView --> View 1.创建TextView的两种方式: 1.1编写TextView类 TextView tv = new TextView(this) ...
- rm - 移除文件或者目录
总览 rm [options] file... POSIX(Portable Operating System Interface 可移植的操作系统接口) 选项: [-fiRr] GNU 选项 (最短 ...
- gvfs错误导致tilda和thunar启动缓慢问题的解决
tilda是一个非常轻便的下拉终端,但是安装之后启动发现要过十几秒才会出现界面.命令行启动发现报错如下: 用这条信息到处搜索也找不到有用的解答. 后来终于发现这是一个dbus超时的问题,虽然原因和这个 ...
- 【LeetCode】几何学 geometry(共2题)
[587]Erect the Fence [892]Surface Area of 3D Shapes
- solrJ 基本使用
添加: PropertiesUtils pro = new PropertiesUtils();String path = pro.load("solr.properties", ...
- Prometheus指标采集常用配置
一.node-exporter配置textfile收集器 textfile收集器作用: 运行暴露自定义指标.例如,需要在某个被监控节点上添加一个地理位置的指标. node-exporter会自动启动t ...