Hoe python script uit te voeren in HTML?

Momenteel ben ik met enige python bestanden die aansluit op SQLite database voor de gebruiker ingangen en voert vervolgens een aantal berekeningen, die de uitvoer van het programma bepaalt. Ik ben nieuw in python web programmeren en ik wil weten wat is de beste methode om het gebruik python op de website?

Ex: Ik wil mijn python bestanden uit te voeren wanneer de gebruiker op een knop klikt op de webpagina. Is het mogelijk?

Ik ben begonnen met Django. Maar het enige tijd nodig heeft voor het leren. En ik zag ook iets genaamd CgiScripts. Welke optie moet ik gebruiken? Gelieve advies.


Antwoord 1, Autoriteit 100%

Het zou waarschijnlijk afhangen van wat je wilt doen. Persoonlijk gebruik ik CGI en het zou eenvoudiger zijn als uw input van de webpagina zijn eenvoudig, en het kost minder tijd om te leren. Hier zijn een aantal middelen voor haar:

Het kan echter nog hoeft te doen wat de configuratie in staat te stellen het programma in plaats run of weer te geven.

Hier is een tutorial over dat: http://httpd.apache.org /docs/current/howto/cgi.html


Antwoord 2, Autoriteit 143%

U kunt in staat zijn om een ​​python bestand uit te voeren met behulp van html met php

schrijven een PHP-bestand als index.php:

<html>
<head>
<title>run my python files</title>
<?PHP
echo shell_exec("python test.py 'parameter1'");
?>
</head>

het passeren van de parameter om python
Maak een python als test.py:

import sys
input=sys.argv[1]
print(input)

Afdrukken De parameter door PHP.


Antwoord 3, Autoriteit 43%

Als uw webserver Apache is, kunt u de http://modpython.org/ module gebruiken om te bepalen Voer uw Python CGI-scripts uit.

Voor nginx kunt u http://modwsgi.readthedocs.io/en/develop/ <


Antwoord 4, Autoriteit 29%

Dankzij Webassembly en het Pyodide-project is het nu mogelijk om Python in de browser uit te voeren. Bekijk mijn tutorial erop.

       const output = document.getElementById("output")
        const code = document.getElementById("code")
        function addToOutput(s) {
            output.value += `>>>${code.value}\n${s}\n`
            output.scrollTop = output.scrollHeight
            code.value=''
        }
        output.value = 'Initializing...\n'
        // init pyodide
        languagePluginLoader.then(() => { output.value += 'Ready!\n' })
        function evaluatePython() {
            pyodide.runPythonAsync(code.value)
                .then(output => addToOutput(output))
                .catch((err) => { addToOutput(err) })
        }
<!DOCTYPE html>
<head>
    <script type="text/javascript">
        // default pyodide files URL (packages.json, pyodide.asm.data etc)
        window.languagePluginUrl = 'https://pyodide-cdn2.iodide.io/v0.15.0/full/';
    </script>
    <script src="https://pyodide-cdn2.iodide.io/v0.15.0/full/pyodide.js"></script>
</head>
<body>
    Output:
    </div>
    <textarea id='output' style='width: 100%;' rows='10' disabled></textarea>
    <textarea id='code' rows='3'>
import numpy as np
np.ones((10,))
    </textarea>
    <button id='run' onclick='evaluatePython()'>Run</button>
    <p>You can execute any Python code. Just enter something in the box above and click the button. <strong>It can take some time</strong>.</p>
</body>
</html>

Antwoord 5

Je kunt Python niet rechtstreeks uitvoeren

Je mag dit gebruiken

http://karrigell.sourceforge.net/en/pythoninsidehtml.html

Of voor inside php dit

http://www.skulpt.org/

Antwoord 6

Je zou flask- of django-frameworks moeten proberen. Ze worden gebruikt om python en html te integreren


Antwoord 7

Er is een manier om het met een fles te doen!

Installatie

Eerst typ je pip install flask

Instellen

U zei dat wanneer een gebruiker op een link klikt, u wilt dat deze een pythonscript uitvoert

from flask import *
#importing all the methods, classes, functions from flask
app = Flask(__name__)
#This is the first page that comes when you type localhost:5000... it will have a a tag that redirects to a page
@app.route("/")
def  HomePage():
    return "<a href='/runscript'>EXECUTE SCRIPT </a>"
#Once it redirects here (to localhost:5000/runscript) it will run the code before the return statement
@app.route("/runscript")
def ScriptPage():
    #Type what you want to do when the user clicks on the link
    # once it is done with doing that code... it will redirect back to the homepage
    return redirect(url_for("HomePage"))
#Running it only if we are running it directly from the file... not by importing
if __name__ == "__main__":
    app.run(debug=True)

Other episodes