Anleitung: Aus einem Webseiten-Formular Inhalte an Python Skript übergeben
Wer ein wenig mit Python rumgespielt hat und ein paar erste Skripte erfolgreich verfasst hat, wird sich früher oder später auch dafür interessieren, wie man die Python Skripte in eine Webseite einbinden kann. In dieser kurzen Anleitung schauen wir uns einmal an, wie man aus…
Wer ein wenig mit Python rumgespielt hat und ein paar erste Skripte erfolgreich verfasst hat, wird sich früher oder später auch dafür interessieren, wie man die Python Skripte in eine Webseite einbinden kann. In dieser kurzen Anleitung schauen wir uns einmal an, wie man aus einem Webseiten Formular in HTML und der Hilfe von Javascript Inhalte an ein Python Script übergeben werden können.
1. HTML Formular erstellen
Zuerst erstellt man den Code für ein einfaches HTML-Formular:
<form>
<label for="input-text">Enter text:</label>
<input type="text" id="input-text" name="input-text">
<button type="submit" id="submit-btn">Submit</button>
</form>
2. Javascript benutzen
Als Nächstes wird Javascript dazu genutzt den Text aus dem Formular zu übertragen und die Funktion des “Submit”-Buttons zu überschreiben:
const form = document.querySelector('form');
form.addEventListener('submit', function(event) {
event.preventDefault(); // Prevent the default form submission behavior
const inputText = document.querySelector('#input-text').value;
sendData(inputText); // Call a function to send the data to the backend
});
3. Python Script und Flask verwenden
Jetzt schreibt man ein kurzes Python Script, das mit Hilfe von Flask den HTTP Request managed und den Inhalt des übertragenen Textfeldes in eine Variable ermöglicht speichert:
from flask import Flask, request
app = Flask(__name__)
@app.route('/submit-text', methods=['POST'])
def submit_text():
input_text = request.form['input-text']
# Do something with the input_text variable here
return 'Received input: ' + input_text
if __name__ == '__main__':
app.run()
4. Javascript zur Übertragung des Inhalts
Den eigentlichen Datentransfer aus dem Frontend in das Backend übernimmt dann wieder JavaScript mittels einer fetch() function die ein HTTP POST request an das Python Script richtet:
function sendData(inputText) {
fetch('/submit-text', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: 'input-text=' + encodeURIComponent(inputText)
})
.then(response => response.text())
.then(data => {
console.log(data); // Log the response from the backend
})
.catch(error => {
console.error(error);
});
}
5. Flask Server starten
Zuletzt muss noch der Flask server gestartet werden indem das Python scrip gestartet wird. Heisst das Python Script beispielsweise app.py, kann es auf der command line im Terminal mit python app.py gestartet werden.
Das waren im Wesentlichen die erforderlichen Schritte.
Ergebnis-Code
Setzt man die einzelnen Skripte jetzt zusammen, erhält man zwei Code Listings, die man ausführen kann:
Das HTML-Listing (mit Javascript):
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Submit Text</title>
</head>
<body>
<h1>Submit Text</h1>
<form>
<label for="input-text">Enter text:</label>
<input type="text" id="input-text" name="input-text">
<button type="submit" id="submit-btn">Submit</button>
</form>
<script>
const form = document.querySelector('form');
form.addEventListener('submit', function(event) {
event.preventDefault(); // Prevent the default form submission behavior
const inputText = document.querySelector('#input-text').value;
sendData(inputText); // Call a function to send the data to the backend
});
function sendData(inputText) {
fetch('/submit-text', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: 'input-text=' + encodeURIComponent(inputText)
})
.then(response => response.text())
.then(data => {
console.log(data); // Log the response from the backend
})
.catch(error => {
console.error(error);
});
}
</script>
</body>
</html>
Und das Python Skript (mit Verwendung von Flask):
from flask import Flask, request
app = Flask(__name__)
@app.route('/submit-text', methods=['POST'])
def submit_text():
input_text = request.form['input-text']
# Do something with the input_text variable here
return 'Received input: ' + input_text
if __name__ == '__main__':
app.run()
Um diesen Code auszuführen, muss man nun beispielsweise den HTML-Code in eine Datei namens index.html speichern, den Python-Code in eine Datei namens app.py speichern und das Python-Skript mit dem Befehl python app.py ausführen. Dadurch wird der Flask-Server gestartet und es ist möglich, Text über das HTML-Formular zu übermitteln. Der Text wird an das Python-Skript gesendet und in der Konsole ausgegeben.
Hierauf aufbauen kann das Python-Skript jetzt natürlich modifiziert werden, um etwas Nützlicheres mit dem Text zu tun, wie zum Beispiel in einer Datenbank zu speichern oder eine Verarbeitung darauf durchzuführen.
Weiterlesen .
Web & CodeAnleitung: CSS-Selektoren für Web Scraping mit SelectGadget Browser Erweiterung identifizieren
Wer sich mit Webdesigns oder Scraping von Webinhalten kommt nicht darum umher sich früher oder später mit CSS-Selektoren unerlässlich. Hier kommt SelectorGadget ins Spiel, ein Open-Source-Tool, das Dir hilft, diese Aufgabe auf komplexen Websites zu vereinfachen. Entwickelt von…
Sonoya Redaktion
Web & CodeWie kann man einen Processing Canvas als Vektor-Grafik für den Druck exportieren?
Processing ist eine kostenlose grafische Bibliothek und integrierte Entwicklungsumgebung, die für die elektronische Kunst, neue Medienkunst und visuelle Designgemeinschaften entwickelt wurde, um Nicht-Programmierern die Grundlagen der Computerprogrammierung in einem visuellen…
Sonoya Redaktion
Web & CodeWordPress Anleitung: Favicons und Apple Touch Icons ins TwentyTwentyFour Theme einbinden
Favicons und Touch-Icons sind das digitale Aushängeschild Deiner Website – kleine, aber wichtige Details, die das Branding Deiner Seite stärken und für einen professionellen Eindruck sorgen. Gerade im neuen WordPress Theme TwentyTwentyFour ist die Integration dieser Icons…
Sonoya Redaktion
Web & CodeErstelle beeindruckende Online-Präsentationen mit reveal.js – So geht’s kostenlos, flexibel und einfach
Hast Du genug von den üblichen Präsentationen mit Microsoft's PowerPoint oder Google Slides? Möchtest Du mal etwas anderes ausprobieren, etwas Kreatives und Dynamisches? Dann lass uns mal gemeinsam reveal.js anschauen! Reveal.js ist ein kostenloses, web-basiertes Tool für…
Sonoya Redaktion
Web & CodeAnleitung: FastAPI mit API-Key sicher in n8n integrieren
Die Integration von FastAPI in n8n ist für viele Entwickler ein wichtiger Schritt, um leistungsstarke Python-Backends mit automatisierten Workflows zu verbinden. Besonders in der aktuellen Version von n8n (2025) können jedoch einige Herausforderungen auftreten, wenn…
Sonoya Redaktion
Web & CodeFertiges Shell-Script: n8n auf einem DigitalOcean 1-Click-Droplet aktualisieren
In diesem Beitrag zeige ich dir Schritt für Schritt, wie du ein vollständiges Shellscript erstellst, das deine n8n-Installation auf einem DigitalOcean 1-Click-Droplet automatisch aktualisiert. Du lernst, wo du das Script speichern solltest, wie du es als root-User nutzt und wie…
Sonoya Redaktion