HTML Code mit Python verbinden?
Wie kann man HTML mit Python verbinden? Also z.B. gibt man im HTML Input eine Zahl ein und das wird dann in Python zu einer Variable umgewandelt und darauf wird etwas addiert und das Ergebnis wird dann im HTML Code angezeigt.
4 Antworten
Ja, das geht natürlich auch mit Python. Hier findest Du ziemlich ausführlich beschrieben wie man mit der Sprache ein HTML-Formular verarbeiten kann:
http://pwp.stevecassidy.net/bottle/forms-processing.html
Auf der Basis solltest Du dann dein Ziel umsetzen können.
Muss es denn mit Python sein? Bzw. was willst du mit der Variable dann machen?
Wenn du was mit Python suchst kannst du aber auch django oder flask anschauen.
Das könntest du mit PHP machen. (wenn dein PC auch der Server ist)
https://www.php.net/manual/de/function.file-put-contents.php
Du kannst dazu einen ganz einfachen PHP Code verwenden.
Beispiel:
<html>
<head>
<title>Beispiel für guteFrage</title>
<?PHP
echo shell_exec("python test.py 'parameter1'");
?>
</head>
Den Parameter an eine Pythondatei test.py übergeben:
import sys
input=sys.argv[1]
print(input)
Bei mein Windows localhost Server mit XAMPP hat shell_exec in PHP geklappt aber bei mein Linux localhost Server mit apache2 hat es nicht geklappt. Was muss man bei Linux extra machen?
Schau Mal hier -> https://www.tecmint.com/run-php-codes-from-linux-commandline/
Zunächst musst du dir darüber klar werden, wie so ein HTTP-Request abläuft: was im Browser passiert (z.B. Forms-Handling), was zum Server geht, wie der damit umgeht, und was er zurückschicken kann.
Ein übliches, einfach verwendbares Werkzeug für serverseitiges Python ist Flask: https://flask.palletsprojects.com/en/1.1.x/quickstart/
Dabei kann im einfachsten Fall ein Python-Prozess selbst als Webserver agieren. Und dann kannst du natürlich jeden beliebigen Python-Code zur Beantwortung eines HTTP-Requests ausführen.
(Von abenteuerlichen PHP-plus-Python-Kombinationen würde ich jedenfalls abraten...besser für eins davon entscheiden.)
Z.B. Berechnungen ausführen oder diese Variable mit Python in eine Textdatei schreiben und dann auf mein PC speichern.