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求crc32值的方法
Oct 05 Python
Python中使用pprint函数进行格式化输出的教程
Apr 07 Python
Python urllib、urllib2、httplib抓取网页代码实例
May 09 Python
Python中getattr函数和hasattr函数作用详解
Jun 14 Python
Python入门_浅谈for循环、while循环
May 16 Python
python使用matplotlib画饼状图
Sep 25 Python
Python 多线程不加锁分块读取文件的方法
Dec 11 Python
Python设计模式之组合模式原理与用法实例分析
Jan 11 Python
python实现拉普拉斯特征图降维示例
Nov 25 Python
深入浅析python变量加逗号,的含义
Feb 22 Python
Python多线程:主线程等待所有子线程结束代码
Apr 25 Python
python glom模块的使用简介
Apr 13 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静态类
2006/11/25 PHP
PHP初学者最感迷茫的问题小结
2010/03/27 PHP
PHP程序员面试 切忌急功近利(更需要注重以后的发展)
2010/09/01 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
2013/11/12 PHP
destoon各类调用汇总
2014/06/20 PHP
php自定义apk安装包实例
2014/10/20 PHP
PHP用户注册邮件激活账户的实现代码
2017/05/31 PHP
浅谈php调用python文件
2019/03/29 PHP
jQuery实现的支持IE的html滑动条
2015/03/16 Javascript
jquery ui resize 中border-box的bug修正
2015/04/26 Javascript
基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
2016/01/07 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
vue-prop父组件向子组件进行传值的方法
2018/03/01 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
python通过装饰器检查函数参数数据类型的方法
2015/03/13 Python
对python捕获ctrl+c手工中断程序的两种方法详解
2018/12/26 Python
python pandas 时间日期的处理实现
2019/07/30 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
python打包成so文件过程解析
2019/09/28 Python
Python中的延迟绑定原理详解
2019/10/11 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
浅谈python量化 双均线策略(金叉死叉)
2020/06/03 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
2020/10/31 Python
如何给HTML标签中的文本设置修饰线
2019/11/18 HTML / CSS
Yahoo-PHP面试题2
2014/12/06 面试题
信息技术培训感言
2014/03/06 职场文书
节约用水的口号
2014/06/20 职场文书
关于环保的活动方案
2014/08/25 职场文书
助学贷款贫困证明
2014/09/23 职场文书
2014年应急工作总结
2014/12/11 职场文书
博士给导师的自荐信
2015/03/06 职场文书
上市公司董事长岗位职责
2015/04/16 职场文书
安全守法证明
2015/06/23 职场文书
关于车尾的标语大全
2015/08/11 职场文书
远程教育学习心得体会
2016/01/23 职场文书