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中__init__和__new__的区别详解
Jul 09 Python
python实现同时给多个变量赋值的方法
Apr 30 Python
Linux RedHat下安装Python2.7开发环境
May 20 Python
python中map()函数的使用方法示例
Sep 29 Python
python 每天如何定时启动爬虫任务(实现方法分享)
May 21 Python
实践Vim配置python开发环境
Jul 02 Python
用python画一只可爱的皮卡丘实例
Nov 21 Python
Python Numpy,mask图像的生成详解
Feb 19 Python
Python实现一个简单的毕业生信息管理系统的示例代码
Jun 08 Python
Python3如何使用多线程升程序运行速度
Aug 11 Python
Python调用ffmpeg开源视频处理库,批量处理视频
Nov 16 Python
Python接口自动化之文件上传/下载接口详解
Apr 05 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中去除所有js,html,css代码
2010/10/12 PHP
PHP获取Exif缩略图的方法
2015/07/13 PHP
php基于数组函数实现关联表的编辑操作示例
2017/07/04 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
JavaScript 在线压缩和格式化收藏
2009/01/16 Javascript
探讨jQuery的ajax使用场景(c#)
2013/12/03 Javascript
jQuery实现手机号码输入提示功能实例
2015/04/30 Javascript
javascript字符串与数组转换汇总
2015/05/26 Javascript
javascript中setAttribute()函数使用方法及兼容性
2015/07/19 Javascript
jQuery+Ajax实现无刷新分页
2015/10/30 Javascript
详解Javascript继承的实现
2016/03/25 Javascript
vue.js入门教程之计算属性
2016/09/01 Javascript
vue-router 中router-view不能渲染的解决方法
2017/05/23 Javascript
input 标签实现输入框带提示文字效果(两种方法)
2017/10/09 Javascript
微信小程序云开发实现数据添加、查询和分页
2019/05/17 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
浅谈python配置与使用OpenCV踩的一些坑
2018/04/02 Python
python利用requests库进行接口测试的方法详解
2018/07/06 Python
创建Shapefile文件并写入数据的例子
2019/11/26 Python
Python模块 _winreg操作注册表
2020/02/05 Python
欧舒丹加拿大官网:L’Occitane加拿大
2017/10/29 全球购物
新学期红领巾广播稿
2014/01/14 职场文书
汽车队司机先进事迹材料
2014/02/01 职场文书
《一株紫丁香》教学反思
2014/02/19 职场文书
单位委托书范本
2014/04/04 职场文书
《陈毅探母》教学反思
2014/05/01 职场文书
小学校园广播稿(3篇)
2014/09/19 职场文书
员工工作能力评语
2014/12/31 职场文书
寒假社会实践个人总结
2015/03/06 职场文书
2015中学教师个人工作总结
2015/07/22 职场文书
写作技巧:如何撰写一份优秀的营销策划书
2019/08/13 职场文书
浅谈vue2的$refs在vue3组合式API中的替代方法
2021/04/18 Vue.js
Java中多线程下载图片并压缩能提高效率吗
2021/07/01 Java/Android
HTML CSS 一个标签实现带动画的抖音LOGO
2022/04/26 HTML / CSS
Go Grpc Gateway兼容HTTP协议文档自动生成网关
2022/06/16 Golang