Hướng dẫn can i run a python script in javascript? - tôi có thể chạy tập lệnh python trong javascript không?

Sau khi tìm kiếm trong vài giờ, cuối cùng tôi đã có những điều sau đây, và nó hoạt động tốt. Hy vọng điều này sẽ giúp người khác trong tương lai.

Mã HTML và JS: log.html:

<html>
 <head>
    <title>Flask Intro - login page</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="static/bootstrap.min.css" rel="stylesheet" media="screen">
    <script type="text/javascript" src="http://code.jquery.com/jquery 2.1.4.min.js"></script>  
 </head>
 <body>
    <input id="submitbutton" type="submit" value="Test Send Data">
    <!----------------------------------->
    <script type="text/javascript">

    function runPyScript(input){
        var jqXHR = $.ajax({
            type: "POST",
            url: "/login",
            async: false,
            data: { mydata: input }
        });

        return jqXHR.responseText;
    }

    $('#submitbutton').click(function(){
        datatosend = 'this is my matrix';
        result = runPyScript(datatosend);
        console.log('Got back ' + result);
    });

</script>

Mã Python: App.Py:

from flask import Flask, render_template, redirect, url_for,request
from flask import make_response
app = Flask(__name__)

@app.route("/")
def home():
    return "hi"
@app.route("/index")

@app.route('/login', methods=['GET', 'POST'])
def login():
   message = None
   if request.method == 'POST':
        datafromjs = request.form['mydata']
        result = "return this"
        resp = make_response('{"response": '+result+'}')
        resp.headers['Content-Type'] = "application/json"
        return resp
        return render_template('login.html', message='')

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

Thời gian đọc ước tính: 3 phút3 minutes

Bạn đang phát triển một trang web và tìm cách thực hiện một số tập lệnh Python trực tiếp từ trang web?

Ở đây chúng tôi đưa bạn qua cách để đạt được điều này bằng bình Python, các kịch bản chúng tôi chứng minh như sau:

  1. JavaScript On Load Event - Thực thi tập lệnh Python
  2. JavaScript trên sự kiện nhấp chuột - Thực hiện tập lệnh Python

Trong cả hai kịch bản trên, bạn sẽ được trình bày với các hộp bật lên như bên dưới, nhưng mã Python có thể được thay đổi thành bất cứ điều gì bạn thích.

Hướng dẫn can i run a python script in javascript? - tôi có thể chạy tập lệnh python trong javascript không?
Hộp thông báo tải trang trên nút Nhấn, gọi tập lệnh Python để tải hộp thông báo
Hướng dẫn can i run a python script in javascript? - tôi có thể chạy tập lệnh python trong javascript không?
On button press, calls the python script to load a message box

Mã bạn sẽ cần để chạy cái này được chia thành hai. (A) logic index.html và (b) logic app.py

Mã cho trang Index.html

Đây là trang mà người dùng được trình bày. Như bạn có thể thấy logic có hai phần JavaScript khi chạy, hãy chuyển sang mã Python và chạy một số logic mà nó muốn trang web chạy.

Trong trường hợp này, tập lệnh app.py python giữ các lệnh cần được thực thi.

Lưu ý sự kiện tải trang đi đến tuyến đường trong app.py, cụ thể là @ @app.route (‘/xông)

Trong khi sự kiện nhấp vào nút được trỏ trực tiếp vào tại@@app.route (‘/test,) - về cơ bản điều này sẽ không chạy cho đến khi JavaScript yêu cầu, trên nút Nhấp vào sự kiện.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Sample Home Page</title>
</head>
<body>
<! -- Calls a function on the page load. -- >
<element onload="myfunction_onload">
<button type="submit" onclick='myfunction_clickevent()'>Run my Python!</button>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<! -- This script runs the python script on the page load -->
<script>
    function myfunction_onload(){
        $.ajax({
            url: "app.py",
             context: document.body
            })
        }
    </script>
<! -- This script runs the python script when the button is clicked -->
<script>
    function myfunction_clickevent(){
        $.ajax({
            url:"/test",
            context: document.body});}
</script>


</body>
</html>
cách chạy Python trực tiếp từ JavaScript

Mã cho tập lệnh python app.py

Ở đây chúng tôi đang liên kết với trang index.html và nhận các lệnh từ nó và thực hiện các yêu cầu đó.

Trong kịch bản này, các hộp tin nhắn được hiển thị bằng cách sử dụng gói Win32API.

Ứng dụng đang sử dụng gói Flask để chạy trang web.

Điều mạnh mẽ ở đây là bạn có thể bắt đầu tùy chỉnh logic này để làm những gì bạn thích, các ví dụ bao gồm:

(A) Trả lại đồ thị cho trang web.

(B) Xử lý dữ liệu nhận được và trả về số liệu thống kê trên dữ liệu.

(C) Xác nhận dữ liệu nhận được trong Python và trả về phản hồi. Một ví dụ ở đây có thể là người dùng đăng nhập vào cơ sở dữ liệu.

import win32api
from flask import Flask, render_template

app = Flask(__name__)


#Using the below, the popup message appears on the page load of index.html
#0x00001000 - This makes the popup appear over the browser window
@app.route('/')
def index():
    win32api.MessageBox(0, 'You have just run a python script on the page load!', 'Running a Python Script via Javascript', 0x00001000)
    return render_template('index.html')

#Using the below, the popup message appears when the button is clicked on the webpage.
#0x00001000 - This makes the popup appear over the browser window
@app.route('/test')
def test():
    win32api.MessageBox(0, 'You have just run a python script on the button press!', 'Running a Python Script via Javascript', 0x00001000)
    return render_template('index.html')

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

JavaScript và Python có thể làm việc cùng nhau không?

Nó có thể được sử dụng để phát triển máy tính để bàn cũng như các ứng dụng web.Q #5) Tôi có thể học JavaScript và Python cùng một lúc không?Trả lời: Có, cả JavaScript và Python đều có thể được học cùng một lúc.JavaScript chủ yếu được sử dụng để lập trình mặt trước trong khi Python được sử dụng để lập trình phụ trợ.Yes, Javascript and Python can both be learned at the same time. Javascript is mainly used for front-end programming whereas Python is used for backend programming.

Pyscript có thật không?

Pyscript là một khuôn khổ hoàn toàn mới gây ra rất nhiều sự phấn khích khi Peter Wang, CEO và đồng sáng lập của Anaconda, Inc., đã tiết lộ nó trong bài phát biểu quan trọng của mình tại Pycon US 2022. that caused a lot of excitement when Peter Wang, the CEO and co-founder of Anaconda, Inc., revealed it during his keynote speech at PyCon US 2022.

Bạn có thể chạy Python trong trình duyệt không?

Python có thể là ngôn ngữ lập trình phổ biến nhất trên thế giới, nhưng không giống như các JavaScript hàng đầu khác, bạn không thể chạy mã Python trong trình duyệt.you can't run Python code in the browser.