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 相关文章推荐
pycharm 使用心得(七)一些实用功能介绍
Jun 06 Python
Python 关于反射和类的特殊成员方法
Sep 14 Python
Python实现的购物车功能示例
Feb 11 Python
python实现将读入的多维list转为一维list的方法
Jun 28 Python
python远程连接服务器MySQL数据库
Jul 02 Python
Python2.7环境Flask框架安装简明教程【已测试】
Jul 13 Python
python实现画五角星和螺旋线的示例
Jan 20 Python
利用python实现AR教程
Nov 20 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
Feb 27 Python
Django 解决新建表删除后无法重新创建等问题
May 21 Python
pyspark对Mysql数据库进行读写的实现
Dec 30 Python
python 自动化偷懒的四个实用操作
Apr 11 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
Classes and Objects in PHP5-面向对象编程 [1]
2006/10/09 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
2013/06/20 PHP
php发送post请求的三种方法
2014/02/11 PHP
实例讲解yii2.0在php命令行中运行的步骤
2015/12/01 PHP
PHP编写文件多服务器同步程序
2016/07/02 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
2017/06/07 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
2018/08/07 PHP
php代码调试利器firephp安装与使用方法分析
2018/08/21 PHP
PHP实现微信小程序用户授权的工具类示例
2019/03/05 PHP
JS远程获取网页源代码实例
2013/09/05 Javascript
JavaScript中split() 使用方法汇总
2015/04/17 Javascript
详解AngularJS中的表单验证(推荐)
2016/11/17 Javascript
解析Javascript单例模式概念与实例
2016/12/05 Javascript
基于jQuery实现一个marquee无缝滚动的插件
2017/03/09 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
浅谈vue项目用到的mock数据接口的两种方式
2019/10/09 Javascript
javascript实现视频弹幕效果(两个版本)
2019/11/28 Javascript
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
[02:11]2016国际邀请赛中国区预选赛全程回顾
2016/07/01 DOTA
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
python实现带声音的摩斯码翻译实现方法
2015/05/20 Python
Linux下python制作名片示例
2018/07/20 Python
初次部署django+gunicorn+nginx的方法步骤
2019/09/11 Python
Python使用graphviz画流程图过程解析
2020/03/31 Python
浅谈Python中的字符串
2020/06/10 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
Numpy ndarray 多维数组对象的使用
2021/02/10 Python
美国时尚在线:Showpo
2017/09/08 全球购物
即时搜索数百万张门票:SeatsForEveryone.com
2018/08/26 全球购物
三年级科学教学反思
2014/01/29 职场文书
规划编制实施方案
2014/03/15 职场文书
我爱幼儿园演讲稿
2014/09/11 职场文书
2016年校园植树节广播稿
2015/12/17 职场文书
篮球拉拉队口号
2015/12/25 职场文书
《实心球》教学反思
2016/02/23 职场文书
Redis如何实现验证码发送 以及限制每日发送次数
2022/04/18 Redis