javascript – How can I execute a python script from an html button?

javascript – How can I execute a python script from an html button?

There are various ways to make it done, very simple technique with security peace in mind, here might help you


1. First you need to install Flask
pip install flask
in your command prompt, which is a python microframework, dont be afraid that you need to have another prior knowledge to learn that, its really simple and just a few line of code.
If you wish you learn Flask quickly for complete novice here is the tutorial that I also learn from Flask Tutorial for beginner (YouTube)

2.Create a new folder
– 1st file will be
server.py

from flask import Flask, render_template
app = Flask(__name__)

@app.route(/)
def index():
  return render_template(index.html)

@app.route(/my-link/)
def my_link():
  print (I got clicked!)

  return Click.

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

-2nd create another subfolder inside previous folder and name it as templates file will be your html file
index.html

<!doctype html>


<head><title>Test</title> 
    <meta charset=utf-8> </head>
    <body>
        <h1>My Website</h1>
        <form action=/my-link/>
            <input type=submit value=Click me />
        </form>
        
        <button> <a href=/my-link/>Click me</a></button>

    </body>

3.. To run, open command prompt to the New folder directory, type python server.py to run the script, then go to browser type localhost:5000, then you will see button. You can click and route to destination script file you created.

Hope this helpful. thank you.

Since you asked for a way to complete this within an HTML page I am answering this. I feel there is no need to mention the severe warnings and implications that would go along with this .. I trust you know the security of your .py script better than I do 🙂

I would use the .ajax() function in the jQuery library. This will allow you to call your Python script as long as the script is in the publicly accessible html directory … That said this is the part where I tell you to heed security precautions …

<!DOCTYPE html>
<html>
  <head>    
  </head>
  <body>
    <input type=button id=script name=scriptbutton value= Run Script  onclick=goPython()>

    <script src=http://code.jquery.com/jquery-3.3.1.min.js integrity=sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8= crossorigin=anonymous></script>

    <script>
        function goPython(){
            $.ajax({
              url: MYSCRIPT.py,
             context: document.body
            }).done(function() {
             alert(finished python script);;
            });
        }
    </script>
  </body>
</html>

In addition .. Its worth noting that your script is going to have to have proper permissions for, say, the www-data user to be able to run it … A chmod, and/or a chown may be necessary.

javascript – How can I execute a python script from an html button?

This would require knowledge of a backend website language.

Fortunately, Pythons Flask Library is a suitable backend language for the project at hand.

Check out this answer from another thread.

Leave a Reply

Your email address will not be published. Required fields are marked *