首頁 > 軟體

html網頁呼叫後端python程式碼的方法範例

2023-01-18 14:01:41

當我們利用html程式碼製作網頁時,可以用以下方法進行python程式碼的呼叫:

1.簡單的python程式碼例如輸出‘hello world’時,可以選擇直接在網頁寫入python程式碼的方式呼叫,這時候我們就需要了解Pyscript了。以下是在網頁裡直接執行簡易python語段的程式碼:

 <html>
		<head>  
			<meta charset="utf-8">  
		  </head>  
        <body>
		   <pyscript> print('Hello world') </pyscript>
        </body>
     </html>

2.當python程式碼稍微比較複雜,且處於網頁構建初期時,我們可以考慮用flask框架對網頁的按鈕進行整體佈局。

方法 1)

當網頁程式碼較為簡單時,可以直接用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="">進入測試</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="">進入測試</button></a>
if __name__ == '__main__':
    app.run(debug=True)

執行test1.py,ctrl+單擊點開下圖終端中出來的網址:

點選按鈕執行即可出現hello word字樣。

方法 2) 

當網頁程式碼較為複雜且長時,可以使用render_template來進行前後端互動。此時我們需要在包含flask的python程式碼同資料夾下新建一個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="">進入測試</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)

 測試的方式同方法1),這裡不多贅述。

3.網頁設計初期,以上兩種方法足以,但是博主在設計網頁時是設計到一半才發現,在前期寫純Html檔案後再使用flask框架設計按鈕響應python指令碼,會出現網頁不穩定的情況,博主的圖啊網頁跳轉都不見了。經過研究之後,博主又發現了一個不管在網頁設計前期中期都可以使用的python指令碼呼叫方法!那就是ActiveX控制元件。

這個控制元件只有IE瀏覽器中有(至少博主在熟悉的其他瀏覽器中沒有找到這個控制元件),在我們想要使用它之前需要檢查我們的IE瀏覽器是否已經啟用ActiveX控制元件。手動開啟IE的ActiceX控制元件需要如下幾步:開啟設定-Internet選項-安全-自定義級別-把和ActiveX有關的選項全部點啟用或者提示。

 然後我們執行一下程式碼進行測試。

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')">執行程式</button></p>
  </body>
</html>

利用IE瀏覽器開啟網址,點選按鈕執行即可。

 執行前會出現彈窗如下所示,點是和允許即可。 

 由於是輸出,所以黑框一閃而逝很正常,要想看到print出來的hello world字樣,得再加個輸入input()。或者你的python執行出來是個ui視窗,那也會停留很久,別把黑框點叉叉即可。

總結

到此這篇關於html網頁呼叫後端python程式碼的文章就介紹到這了,更多相關html網頁呼叫後端python內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com