html網(wǎng)頁(yè)調(diào)用后端python代碼的方法實(shí)例
當(dāng)我們利用html代碼制作網(wǎng)頁(yè)時(shí),可以用以下方法進(jìn)行python代碼的調(diào)用:
1.簡(jiǎn)單的python代碼例如輸出‘hello world’時(shí),可以選擇直接在網(wǎng)頁(yè)寫入python代碼的方式調(diào)用,這時(shí)候我們就需要了解Pyscript了。以下是在網(wǎng)頁(yè)里直接運(yùn)行簡(jiǎn)易python語(yǔ)段的代碼:
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<pyscript> print('Hello world') </pyscript>
</body>
</html>2.當(dāng)python代碼稍微比較復(fù)雜,且處于網(wǎng)頁(yè)構(gòu)建初期時(shí),我們可以考慮用flask框架對(duì)網(wǎng)頁(yè)的按鈕進(jìn)行整體布局。
方法 1)
當(dāng)網(wǎng)頁(yè)代碼較為簡(jiǎn)單時(shí),可以直接用html代碼代替render_template:
test1.py
def run():
print('hello world')
run()test.py(含flask包)
from flask import(
Flask, render_template, request, redirect, globals
)
import test1
app= Flask(__name__)
@app.route("/",methods=['GET', 'POST'])
def index():
return '<form action = "http://localhost:5000/b" method = "post"></form><a href="/test" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><button onclick="">進(jìn)入測(cè)試</button></a><a href="/test1" rel="external nofollow" >
@app.route("/test",methods=['GET', 'POST'])
def test():
test1.run()
return '<form action = "http://localhost:5000/b" method = "post"></form><a href="/test" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><button onclick="">進(jìn)入測(cè)試</button></a>
if __name__ == '__main__':
app.run(debug=True)運(yùn)行test1.py,ctrl+單擊點(diǎn)開(kāi)下圖終端中出來(lái)的網(wǎng)址:


點(diǎn)擊按鈕運(yùn)行即可出現(xiàn)hello word字樣。

方法 2)
當(dāng)網(wǎng)頁(yè)代碼較為復(fù)雜且長(zhǎng)時(shí),可以使用render_template來(lái)進(jìn)行前后端交互。此時(shí)我們需要在包含flask的python代碼同文件夾下新建一個(gè)template文件夾:

test.py代碼同上,
b.html
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form action = "http://localhost:5000/" method = "post">
</form>
<a href="/test" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><button onclick="">進(jìn)入測(cè)試</button></a>
</body>
</html>test1.py
from flask import(
Flask, render_template, request, redirect, globals
)
import test1
app= Flask(__name__)
@app.route("/",methods=['GET', 'POST'])
def index():
return render_template(
"b.html"
)
@app.route("/test",methods=['GET', 'POST'])
def test():
test1.run()
return render_template(
"b.html"
)
if __name__ == '__main__':
app.run(debug=True)測(cè)試的方式同方法1),這里不多贅述。
3.網(wǎng)頁(yè)設(shè)計(jì)初期,以上兩種方法足以,但是博主在設(shè)計(jì)網(wǎng)頁(yè)時(shí)是設(shè)計(jì)到一半才發(fā)現(xiàn),在前期寫純Html文件后再使用flask框架設(shè)計(jì)按鈕響應(yīng)python腳本,會(huì)出現(xiàn)網(wǎng)頁(yè)不穩(wěn)定的情況,博主的圖啊網(wǎng)頁(yè)跳轉(zhuǎn)都不見(jiàn)了。經(jīng)過(guò)研究之后,博主又發(fā)現(xiàn)了一個(gè)不管在網(wǎng)頁(yè)設(shè)計(jì)前期中期都可以使用的python腳本調(diào)用方法!那就是ActiveX控件。
這個(gè)控件只有IE瀏覽器中有(至少博主在熟悉的其他瀏覽器中沒(méi)有找到這個(gè)控件),在我們想要使用它之前需要檢查我們的IE瀏覽器是否已經(jīng)啟用ActiveX控件。手動(dòng)打開(kāi)IE的ActiceX控件需要如下幾步:打開(kāi)設(shè)置-Internet選項(xiàng)-安全-自定義級(jí)別-把和ActiveX有關(guān)的選項(xiàng)全部點(diǎn)啟用或者提示。

然后我們運(yùn)行一下代碼進(jìn)行測(cè)試。
a.html
<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312">
<title>ceshi</title>
<script language="javascript">
function exec1 (command) {
var ws = new ActiveXObject("WScript.Shell");
ws.exec(command);
}
</script>
</head>
<body>
<button class='button1' onclick="exec1('python D:/xgcs/test1.py')">執(zhí)行程序</button></p>
</body>
</html>利用IE瀏覽器打開(kāi)網(wǎng)址,點(diǎn)擊按鈕運(yùn)行即可。

運(yùn)行前會(huì)出現(xiàn)彈窗如下所示,點(diǎn)是和允許即可。


由于是輸出,所以黑框一閃而逝很正常,要想看到print出來(lái)的hello world字樣,得再加個(gè)輸入input()?;蛘吣愕膒ython運(yùn)行出來(lái)是個(gè)ui窗口,那也會(huì)停留很久,別把黑框點(diǎn)叉叉即可。
總結(jié)
到此這篇關(guān)于html網(wǎng)頁(yè)調(diào)用后端python代碼的文章就介紹到這了,更多相關(guān)html網(wǎng)頁(yè)調(diào)用后端python內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中g(shù)lob.glob()函數(shù)的使用
glob 模塊用于查找規(guī)定路徑下的文件路徑名,本文主要介紹了Python中g(shù)lob.glob()函數(shù)的使用,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
利用pandas進(jìn)行大文件計(jì)數(shù)處理的方法
今天小編就為大家分享一篇利用pandas進(jìn)行大文件計(jì)數(shù)處理的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
NumPy實(shí)現(xiàn)多維數(shù)組中的線性代數(shù)
本文主要介紹了NumPy實(shí)現(xiàn)多維數(shù)組中的線性代數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07
Python實(shí)現(xiàn)將不規(guī)范的英文名字首字母大寫
這篇文章給大家主要介紹的是利用map()函數(shù),把用戶輸入的不規(guī)范的英文名字,變?yōu)槭鬃帜复髮?,其他小寫的?guī)范名字。文中給出了三種解決方法,大家可以根據(jù)需要選擇使用,感興趣的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2016-11-11
python3利用ctypes傳入一個(gè)字符串類型的列表方法
今天小編就為大家分享一篇python3利用ctypes傳入一個(gè)字符串類型的列表方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02
MacOS(M1芯片 arm架構(gòu))下安裝PyTorch的詳細(xì)過(guò)程
這篇文章主要介紹了MacOS(M1芯片 arm架構(gòu))下安裝PyTorch的詳細(xì)過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02
設(shè)置python3為默認(rèn)python的方法
我們知道在Windows下多版本共存的配置方法就是改可執(zhí)行文件的名字,配置環(huán)境變量。接下來(lái)通過(guò)本文給大家介紹設(shè)置python3為默認(rèn)python的方法,一起看看吧2018-10-10
Python使用scrapy采集數(shù)據(jù)時(shí)為每個(gè)請(qǐng)求隨機(jī)分配user-agent的方法
這篇文章主要介紹了Python使用scrapy采集數(shù)據(jù)時(shí)為每個(gè)請(qǐng)求隨機(jī)分配user-agent的方法,涉及Python使用scrapy采集數(shù)據(jù)的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04

