Python Flask框架实现简单加法工具过程解析


Posted in Python onJune 03, 2020

主程序mainaddfunc.py

from flask import Flask, render_template, request, url_for
from add import *

app = Flask(__name__)
 
@app.route('/', methods=['GET'])
def home():
  return render_template('index.html')

@app.route('/', methods=['POST'])
def add():
    a = request.form['adder1']
    b = request.form['adder2']
    try:
      a = float(a)
      b = float(b)
      result = sum_function(a, b)
      return render_template('index.html', result=result, var1=a, var2=b)
    except:
      return render_template('index.html', message='inputs false!!!', var1=a, var2=b)
    
if __name__ == '__main__':
  app.run(port=8080)

大家可以对比原作者的代码可以发现,我这里的result调用了一个python的子函数sum_function,或许有的同学可能会说,这么简单的加法调用神马子程序,不嫌麻烦,话是如此,但是一个简单的调用可以打开子函数的新大门,遇到麻烦的函数的时候,只需要想想这个模板可行,自然而然就用到函数调用了。修改的第二点加入了try语句,判断输入的加数是否是数字,当不是浮点数的时候,报错。修改的第三点可以看见加入了var1和var2两个变量,也就是两个加数作为了变量传递给了html。这么做的好处是什么,来,先看下一段代码index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>加法</title>
</head>
<body>
<div align="center" style="margin-top: 40px;">
  <form name="form1" method="POST">
    <input type="text" placeholder="adder" name="adder1" value="{{ var1 }}">+
    <input type="text" placeholder="adder-2" name="adder2" value="{{ var2 }}">=
    <input type="text" readonly="readonly" placeholder="result" name="result" value="{{ result }}">
    <input type="submit" value="计算" οnclick="">
  </form>
</div>
{% if message %}
  <p style="color:red">{{ message }}</p>
  {% endif %}
</body>

对比原作者的代码,我加入了value="{{ var1 }}和value="{{ var2 }},这么做的好处就是输入了两个加数之后,点击计算按钮之后,输入的加数仍然在框框里,不会随着刷新显示不见,原作者在最后也发现了这个问题,我做了改进,最后是运行的结果

正确输入和错误输入的情况下:

Python Flask框架实现简单加法工具过程解析

Python Flask框架实现简单加法工具过程解析

就这样了。初学的同学,小提示一下,在谷歌浏览器输入http://localhost:8080/就可以看到运行结果了,毕竟flask是用来做web的。最后贴上我的py子函数add.py

def sum_function(a, b):
  c = a + b
  return c

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用动态变量名的方法
May 06 Python
python检查序列seq是否含有aset中项的方法
Jun 30 Python
Python中扩展包的安装方法详解
Jun 14 Python
JSONLINT:python的json数据验证库实例解析
Nov 28 Python
Python爬虫实战:分析《战狼2》豆瓣影评
Mar 26 Python
关于django 数据库迁移(migrate)应该知道的一些事
May 27 Python
Python DataFrame 设置输出不显示index(索引)值的方法
Jun 07 Python
Python+pyplot绘制带文本标注的柱状图方法
Jul 08 Python
Django 实现外键去除自动添加的后缀‘_id’
Nov 15 Python
python基于opencv检测程序运行效率
Dec 28 Python
如何利用Python动态模拟太阳系运转
Sep 04 Python
Python pyecharts案例超市4年数据可视化分析
Aug 14 Python
python自定义函数def的应用详解
Jun 03 #Python
Python中的整除和取模实例
Jun 03 #Python
python 负数取模运算实例
Jun 03 #Python
Python小白学习爬虫常用请求报头
Jun 03 #Python
Python新手学习函数默认参数设置
Jun 03 #Python
python seaborn heatmap可视化相关性矩阵实例
Jun 03 #Python
Python新手学习raise用法
Jun 03 #Python
You might like
微盾PHP脚本加密专家php解密算法
2020/09/13 PHP
php使用websocket示例详解
2014/03/12 PHP
分享一则PHP定义函数代码
2015/02/26 PHP
js 禁用浏览器的后退功能的简单方法
2008/12/10 Javascript
javascript 避免闭包引发的问题
2009/03/17 Javascript
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
2013/05/17 Javascript
iframe实用操作锦集
2014/04/22 Javascript
jQuery插件分享之分页插件jqPagination
2014/06/06 Javascript
用循环或if语句从json中取数据示例
2014/08/18 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
js添加绑定事件的方法
2016/05/15 Javascript
原生js实现淘宝购物车功能
2020/06/23 Javascript
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
vue实现前进刷新后退不刷新效果
2018/01/26 Javascript
jQuery中的类名选择器(.class)用法简单示例
2018/05/14 jQuery
详解基于electron制作一个node压缩图片的桌面应用
2019/01/29 Javascript
Angular脚手架开发的实现步骤
2019/04/09 Javascript
对layui中table组件工具栏的使用详解
2019/09/19 Javascript
Vue-Cli项目优化操作的实现
2019/10/27 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
Python求两点之间的直线距离(2种实现方法)
2019/07/07 Python
Django实现文件上传下载功能
2019/10/06 Python
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
纯css3实现思维导图样式示例
2018/11/01 HTML / CSS
使用HTML5技术开发一个属于自己的超酷颜色选择器
2013/09/22 HTML / CSS
Auchan Direct波兰:欧尚在线杂货店
2016/10/19 全球购物
MYSQL基础面试题
2012/05/13 面试题
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
经典安踏广告词
2014/03/21 职场文书
优秀员工演讲稿
2014/05/19 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
入队仪式主持词
2015/07/04 职场文书
2019年行政人事个人工作总结范本!
2019/07/19 职场文书
Python使用UDP实现720p视频传输的操作
2021/04/24 Python
Java集成swagger文档组件
2021/06/28 Java/Android
MySQL8.0 Undo Tablespace管理详解
2022/06/16 MySQL