Python Flask框架實(shí)現(xiàn)簡(jiǎn)單加法工具過程解析
主程序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)
大家可以對(duì)比原作者的代碼可以發(fā)現(xiàn),我這里的result調(diào)用了一個(gè)python的子函數(shù)sum_function,或許有的同學(xué)可能會(huì)說,這么簡(jiǎn)單的加法調(diào)用神馬子程序,不嫌麻煩,話是如此,但是一個(gè)簡(jiǎn)單的調(diào)用可以打開子函數(shù)的新大門,遇到麻煩的函數(shù)的時(shí)候,只需要想想這個(gè)模板可行,自然而然就用到函數(shù)調(diào)用了。修改的第二點(diǎn)加入了try語句,判斷輸入的加數(shù)是否是數(shù)字,當(dāng)不是浮點(diǎn)數(shù)的時(shí)候,報(bào)錯(cuò)。修改的第三點(diǎn)可以看見加入了var1和var2兩個(gè)變量,也就是兩個(gè)加數(shù)作為了變量傳遞給了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="計(jì)算" οnclick=""> </form> </div> {% if message %} <p style="color:red">{{ message }}</p> {% endif %} </body>
對(duì)比原作者的代碼,我加入了value="{{ var1 }}和value="{{ var2 }},這么做的好處就是輸入了兩個(gè)加數(shù)之后,點(diǎn)擊計(jì)算按鈕之后,輸入的加數(shù)仍然在框框里,不會(huì)隨著刷新顯示不見,原作者在最后也發(fā)現(xiàn)了這個(gè)問題,我做了改進(jìn),最后是運(yùn)行的結(jié)果
正確輸入和錯(cuò)誤輸入的情況下:
就這樣了。初學(xué)的同學(xué),小提示一下,在谷歌瀏覽器輸入http://localhost:8080/就可以看到運(yùn)行結(jié)果了,畢竟flask是用來做web的。最后貼上我的py子函數(shù)add.py
def sum_function(a, b): c = a + b return c
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python上下文管理器類和上下文管理器裝飾器contextmanager用法實(shí)例分析
這篇文章主要介紹了Python上下文管理器類和上下文管理器裝飾器contextmanager用法,結(jié)合實(shí)例形式分析了上下文管理器類定義、使用、sqlalchemy實(shí)現(xiàn)數(shù)據(jù)庫的自動(dòng)提交和回滾相關(guān)操作技巧,需要的朋友可以參考下2019-11-11python實(shí)現(xiàn)的登錄與提交表單數(shù)據(jù)功能示例
這篇文章主要介紹了python實(shí)現(xiàn)的登錄與提交表單數(shù)據(jù)功能,結(jié)合實(shí)例形式分析了Python表單登錄相關(guān)的請(qǐng)求與響應(yīng)操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-09-09Python中json.load()和json.loads()有哪些區(qū)別
json.loads()用于解析一個(gè)有效的JSON字符串并將其轉(zhuǎn)換為Python字典,json.load——()用于從一個(gè)文件讀取JSON類型的數(shù)據(jù),然后轉(zhuǎn)轉(zhuǎn)換成Python字典,本文講解下python中兩者的使用2021-06-06