【解決方法】(Python) HTML から Python ファイルを実行する

プログラミングQA

[ad_1]

ウェブでこれを見た、自分で試してみたいが在庫がある

– .py
(SQL データを取得して index_test_0203.html に渡すことができます)

Python
import mysql.connector
import webbrowser
import time
import pymysql
from flask import Flask,render_template,request 

app = Flask(__name__)

mydb = mysql.connector.connect(
  host="196.168.1.141",
  user="Main_root",
  password="password_123", 
  database="database_db",  
  auth_plugin='mysql_native_password'
)
              
mycursor = mydb.cursor()

# below one can work that exectue pyscript with fixed P_ID = 'en_1-01'
# mycursor.execute("SELECT P_TITLE,P_DESC  FROM webpage WHERE P_ID = 'en_1-01'")  

# this one won't work, want to get text from .html
mycursor.execute("SELECT P_TITLE,P_DESC  FROM webpage WHERE P_ID = "+request.args["P_ID"])                     
                                         
myresult = mycursor.fetchall()

print(myresult)    

@app.route('/')
def index():
    return render_template("index_test_0203.html", myresult = myresult)

if __name__ == "__main__":
    app.run(debug=True)

– index_test_0203.html
(url から html document.write(p) にフラスコでテキストを取得できます)
ただし、そのテキストを特定の P_ID として .py に渡して検索し、.py を有効にする必要があります

HTML
<!DOCTYPE html>
<html>
    <script type="text/javascript">
        const queryString = window.location.search;
        const urlParams = new URLSearchParams(queryString);
        for (const p of urlParams) {
            document.write(p+'<br/>');
        }
        </script>
    <body>
      <p> this is {{myresult}}</p>

    </body>
</html>

[(demo pic) the activate order](https://i.stack.imgur.com/Xadkt.png) ぜひご覧ください

[(the original pic)](https://i.stack.imgur.com/xuB5q.png)

.py と .html の両方をクラウド サーバーに配置します

私が試したこと:

– 本旨:
`http://192.168.0.206:8080/english/index_test_0203.html?P_ID=en-1-01` などの .html URL から .py ファイルをトリガー/アクティブ化する方法

私が今のところ勉強したことは、おそらく ajax またはフラスコが役立つ可能性があるということです。何か提案があれば教えてください。新しいことを学べてうれしいです。この問題を解決するために

解決策 1

をご覧になることをお勧めします Flask へようこそ — Flask ドキュメント (2.2.x)[^]をクリックして、チュートリアルを進めます。

[ad_2]

コメント

タイトルとURLをコピーしました