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 相关文章推荐
Django发送html邮件的方法
May 26 Python
基于Python Shell获取hostname和fqdn释疑
Jan 25 Python
wxpython实现图书管理系统
Mar 12 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
Apr 23 Python
Python DataFrame设置/更改列表字段/元素类型的方法
Jun 09 Python
用Python将mysql数据导出成json的方法
Aug 21 Python
浅谈Django中view对数据库的调用方法
Jul 18 Python
Python类反射机制使用实例解析
Dec 30 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
Jan 06 Python
浅谈pytorch torch.backends.cudnn设置作用
Feb 20 Python
使用pandas实现筛选出指定列值所对应的行
Dec 13 Python
OpenCV+Python3.5 简易手势识别的实现
Dec 21 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打造属于自己的MVC框架
2012/03/07 PHP
浅谈php serialize()与unserialize()的用法
2013/06/05 PHP
php 如何获取数组第一个值
2013/08/06 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
2017/09/30 PHP
Iframe自适应高度绝对好使的代码 兼容IE,遨游,火狐
2011/01/27 Javascript
js 静态动态成员 and 信息的封装和隐藏
2011/05/29 Javascript
找出字符串中出现次数最多的字母和出现次数精简版
2012/11/07 Javascript
借助FileReader实现将文件编码为Base64后通过AJAX上传
2015/12/24 Javascript
简单解析JavaScript中的__proto__属性
2016/05/10 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
2016/07/11 Javascript
jquery遍历标签中自定义的属性方法
2016/09/17 Javascript
微信小程序 封装http请求实例详解
2017/01/16 Javascript
解决js ajax同步请求造成浏览器假死的问题
2018/01/18 Javascript
解决vue 更改计算属性后select选中值不更改的问题
2018/03/02 Javascript
vue 实现的树形菜的实例代码
2018/03/19 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
python获取本地计算机名字的方法
2015/04/29 Python
python中字符串前面加r的作用
2015/06/04 Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
2016/04/20 Python
AI人工智能 Python实现人机对话
2017/11/13 Python
python使用tensorflow保存、加载和使用模型的方法
2018/01/31 Python
python的常用模块之collections模块详解
2018/12/06 Python
python实现词法分析器
2019/01/31 Python
HTML5 Web存储方式的localStorage和sessionStorage进行数据本地存储案例应用
2012/12/09 HTML / CSS
波兰补充商店:Muscle Power
2018/10/29 全球购物
给领导的致歉信范文
2014/01/13 职场文书
简单通用的简历自我评价
2014/09/21 职场文书
个人整改措施落实情况汇报
2014/10/29 职场文书
公安机关起诉意见书
2015/05/20 职场文书
幼儿园六一主持词
2015/06/30 职场文书
2016年9月份红领巾广播稿
2015/12/21 职场文书
如何让2019年上半年的工作总结更出色!
2019/07/01 职场文书
用Python将GIF动图分解成多张静态图片
2021/06/11 Python
MySQL的prepare使用以及遇到的bug
2022/05/11 MySQL
Java中Dijkstra(迪杰斯特拉)算法
2022/05/20 Java/Android