show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 上次后台hello.py接收到了
- 网页Get过来的参数
- 尝试处理
- 但是出了错误
- 这个怎么办呢?🤔
- 编辑pre_add.html
<!DOCTYPE htm1>
<html>
<head>
<meta charset="UTF-8" />
<title>front </title>
</head>
<body>
<form action="../add" method="get">
addendl <input type=text size=20 name=addend1> <br>
addend2 <input type=text size=20 name=addend2> <br>
<input type="submit">
</body>
</html>
- 编辑app.py
from flask import Flask
from flask import request
app = Flask(__name__)
@app.route('/add')
def index():
operand1 = request.args.get("addend1")
operand2 = request.args.get("addend2")
sum = int(operand1) + int(operand2)
return str(sum)
if __name__ == "__main__":
app.run(debug=True)
- 访问网址
firefox http://127.0.0.1/static/pre_add.html
- 这次1+1终于等于2了
- 如果是1.5 + 1呢?
- 加数和被加数
- 不一定是整数
- 可能是浮点数
- 在第十行批量替换
- :%10s/int/float/g
- 修改结果
- 如果传入的是
- 字符串abc
- 无法转化
- 为小数呢?
from flask import Flask
from flask import request
app = Flask(__name__)
@app.route('/add')
def index():
operand1 = request.args.get("addend1")
operand2 = request.args.get("addend2")
try:
sum = float(operand1) + float(operand2)
except Exception as e:
return str(e)
else:
return str(sum)
if __name__ == "__main__":
app.run(debug=True)
- 查看异常
- 报错信息还是挺明确的
- 直接给return回 响应页面了
- 如果这个参数根本没有呢?
- 这个报错信息有些不明确
- 可以自定义报错信息吗?
from flask import Flask
from flask import request
app = Flask(__name__)
@app.route('/add')
def add():
operand1 = request.args.get("addend1")
operand2 = request.args.get("addend2")
try:
sum = float(operand1) + float(operand2)
except Exception as e:
return type(e)
else:
return str(sum)
if __name__ == "__main__":
app.run(debug=True)
- 得到异常类型
from flask import Flask
from flask import request
app = Flask(__name__)
@app.route('/add')
def add():
operand1 = request.args.get("addend1")
operand2 = request.args.get("addend2")
try:
sum = float(operand1) + float(operand2)
except ValueError as e:
return "输入的参数无法转化为浮点数"
except Exception as e:
return str(type(e))
else:
return str(sum)
if __name__ == "__main__":
app.run(debug=True)
- 运行结果
- 服务要到位
- 只有把方方面面都处理得妥帖之后
- 才能顺利完成茶坊
- 不能哪壶不开提那壶
- 而是处理周全
- 要什么给什么
- 知道可能会出什么错
- 客人是来自
- 五湖四海
- 三教九流
- 五行八作
- 客人多了什么样的情况都有可能发生
- 就需要堂倌留神长眼
- 我们开发网站应用也要长个心眼
- 先把当前这个应用备份到本地
- 这次 研究了 异常的处理
- 有相应的 处理代码
- 还可以 自定义报错信息
- 通过url的方式传递参数很方便
- 不过所有的参数都在地址栏里面
- 可以随意修改
- 很不安全
- 可以有什么方法把这些参数藏起来吗?🤔
- 下次再说!👋