Python Flask框架实现简单加法工具过程解析
作者:青女素娥 发布时间:2021-08-17 20:36:11
标签:Python,Flask,框架
主程序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 }},这么做的好处就是输入了两个加数之后,点击计算按钮之后,输入的加数仍然在框框里,不会随着刷新显示不见,原作者在最后也发现了这个问题,我做了改进,最后是运行的结果
正确输入和错误输入的情况下:
就这样了。初学的同学,小提示一下,在谷歌浏览器输入http://localhost:8080/就可以看到运行结果了,毕竟flask是用来做web的。最后贴上我的py子函数add.py
def sum_function(a, b):
c = a + b
return c
来源:https://www.cnblogs.com/qingnvsue/p/12970145.html
0
投稿
猜你喜欢
- 这篇文章主要介绍了Django app配置多个数据库代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- <table border="1" cellpadding="0&quo
- 一般用 createProcessingInstruction 方法创建处理指令指定参数为 "xml","ve
- RedHat 9.0下自带的mysql rpm包为mysql-3.23.54a-11.i386.rpm,如果在你安装操作系统时没有安装mys
- 今日大致浏览了一下《High Performance Web Sites》。本书的中文版是《高性能网站建设指南》。本书另有对其中个别问题深入
- 首先恭喜月影,当然希望好书大卖!原文提供了样章下载1.1M,pdf格式的。如果大家想下载可以访问源地址:http://bbs.51js.co
- 现在市场上的OA基本上可归结为两大阵营,即php阵营和java阵营。但对接触Oa不久的用户来说,看到的往往只是它们的表相,只是明显的价格差异
- 如何直接调用Excel数据?在ASP中,不用ODBC,如何直接调用Excel数据? 在调用处理处,究竟是使用:xlApp.qui
- 产品通常分两种,一种是遵循现有用户习惯,一种是颠覆用户习惯。至于什么是用户习惯,你现在用右手还是左手操作鼠标,这就是你的习惯。很多公司团队专
- MaxDB是MySQL AB公司通过SAP认证的数据库。MaxDB数据库服务器补充了MySQL AB产品系列。某些MaxDB特性在MySQL
- 代码如下:USE TestDB declare @conversation uniqueidentifier while exists (s
- Sitepoint有一个不错的针对Web开发者和设计者的参考手册网站,可以查询HTML、CSS和JavaScript的基本信息、兼容性和示例
- 本文从多个角度来讲解如何在Access数据库上如何上传并且显示上所上传图片。在 * 站制做过程中,需要上传图片、显示图片,上传的图片要能够保
- match()函数的使用。以及从文本中提取数据的方法。在学习re模块的相关函数前应了解正则表达式的特殊字符准备一个要爬取的文本文档:直接从某
- 今天闲逛在网上时,看到一个11px大小的字体,显示却很清晰,赶紧查看站点的CSS,这字体称叫做:PMingLiu。效果相当不错,相比于我们使
- 无水印视频下载方法一:无水印视频下载很简单,有一个通用的方法,就是使用去水印平台即可。我使用的去水印平台是:http://douyin.ii
- 目录1.自动移动鼠标,以便Skype / Lynk显示你在工作中处于活动状态2.使用Selenium自动化网站登录过程3.自动文件备份4.自
- 有时在项目中会遇到通过在页面中采用iframe的方式include其它页面,这时就会考虑不要因出现滚动条而影响页面效果,但include页面
- js格式化金额,可选是否带千分位,可选保留精度,也是网上搜到的,但是使用没问题 /* 将数值四舍五入后格式化. @param num 数值(
- 最近基于selenium写了一个python小工具,记录下学习记录,自己运行的环境是Ubuntu 14.04.4, Python 2.7,C