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遍历类中所有成员的方法
Mar 18 Python
Python的装饰器用法学习笔记
Jun 24 Python
django使用图片延时加载引起后台404错误
Apr 18 Python
Python定时发送消息的脚本:每天跟你女朋友说晚安
Oct 21 Python
django模板结构优化的方法
Feb 28 Python
pyqt5 使用label控件实时显示时间的实例
Jun 14 Python
pytorch::Dataloader中的迭代器和生成器应用详解
Jan 03 Python
Python稀疏矩阵及参数保存代码实现
Apr 18 Python
python读取excel进行遍历/xlrd模块操作
Jul 12 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
Jan 29 Python
Python 数据可视化之Bokeh详解
Nov 02 Python
详解Python+OpenCV绘制灰度直方图
Mar 22 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获取mysql版本的几种方法小结
2008/03/25 PHP
php的ajax简单实例
2014/02/27 PHP
php类自动加载器实现方法
2015/07/28 PHP
功能强大的php文件上传类
2016/08/29 PHP
Laravel 类和接口注入相关的代码
2019/10/15 PHP
让innerHTML的脚本也可以运行起来
2006/07/01 Javascript
javascript编程起步(第一课)
2007/01/10 Javascript
JS自动缩小超出大小的图片
2012/10/12 Javascript
Javascript跨域请求的4种解决方式
2013/03/17 Javascript
CascadeView级联组件实现思路详解(分离思想和单链表)
2016/04/12 Javascript
jQuery获取file控件中图片的宽高与大小
2016/08/04 Javascript
JavaScript制作颜色反转小游戏
2016/09/25 Javascript
jQuery用户头像裁剪插件cropbox.js使用详解
2017/06/07 jQuery
BootStrap table实现表格行拖拽效果
2018/12/01 Javascript
jQuery实现的老虎机跑动效果示例
2018/12/29 jQuery
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
2020/09/17 Javascript
[01:13:59]LGD vs Mineski Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
centos 下面安装python2.7 +pip +mysqld
2014/11/18 Python
Python兔子毒药问题实例分析
2015/03/05 Python
在Django的模板中使用认证数据的方法
2015/07/23 Python
使用python实现省市三级菜单效果
2016/01/20 Python
Python内置模块logging用法实例分析
2018/02/12 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
Python中的xlrd模块使用原理解析
2020/05/21 Python
Css3新特性应用之形状总结
2016/12/08 HTML / CSS
耐克中国官方商城:Nike中国
2018/10/18 全球购物
马来西亚户外装备商店:PTT Outdoor
2019/07/13 全球购物
Myprotein荷兰官网:欧洲第一运动营养品牌
2020/07/11 全球购物
统计每一学生的平均成绩
2014/06/06 面试题
介绍一下SQL注入攻击的种类和防范手段
2012/02/18 面试题
Java如何支持I18N?
2016/10/31 面试题
工程监理应届生求职信
2013/11/09 职场文书
《童年》教学反思
2014/02/18 职场文书
爱我中华演讲稿
2014/05/20 职场文书
2019优秀干部竞聘演讲稿范文!
2019/07/02 职场文书