Hướng dẫn can you run a python script using javascript? - bạn có thể chạy tập lệnh python bằng 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 you run a python script using javascript? - bạn có thể chạy tập lệnh python bằng 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 you run a python script using javascript? - bạn có thể chạy tập lệnh python bằng 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?

Bạn có thể kết hợp JavaScript và Python mà không cần sử dụng cơ sở dữ liệu hoặc phát triển cấu trúc API cồng kềnh để cải thiện hiệu quả phát triển..

Làm cách nào để chạy kịch bản Python từ một trang web?

Ngôn ngữ Python sử dụng CGI để thực thi trên trang web. Bạn phải nhập thư viện "CGITB" cho ngôn ngữ Python để thực thi và hiển thị kết quả trong trình duyệt web. Ngôn ngữ Python sử dụng các tuyên bố nhỏ làm cho nó phù hợp cho các dự án web lớn hoặc nhỏ.

Bạn có thể chạy Python trong HTML không?

Pyscript là một khung web nguồn mở cho phép bạn tạo các ứng dụng web frontend bằng Python.Với Pyscript, bạn có thể nhúng mã Python vào HTML hoặc liên kết đến tệp Python và mã sẽ thực thi trong trình duyệt - mà không cần chạy Python trong phần phụ trợ.With PyScript, you can either embed Python code in HTML, or link to a Python file and the code will execute in the browser — without running Python in the backend.

Bạn có thể sử dụng Python như JavaScript không?

Tập hợp con "dựa trên đối tượng" của Python gần tương đương với JavaScript.Giống như JavaScript (và không giống như Java), Python hỗ trợ phong cách lập trình sử dụng các hàm và biến đơn giản mà không tham gia vào các định nghĩa của lớp.Tuy nhiên, đối với JavaScript, đó là tất cả.. Like JavaScript (and unlike Java), Python supports a programming style that uses simple functions and variables without engaging in class definitions. However, for JavaScript, that's all there is.