@tklustig: Ich habe doch lang und breit erklärt dass das mit CGI anders als mit `mod_php` funktioniert und auch warum das so ist. Man kann das jetzt alles so hinbiegen das es ”genau so” wie mit PHP funktioniert, also etwas machen was so nicht vorgesehen ist, und zwar aus IMHO guten Gründen. Oder man beschäftigt sich damit wie Python-Webanwendungen üblicherweise funktionieren. Das ist halt *anders* als PHP. Ebenfalls aus IMHO guten Gründen. Wenn Du etwas willst das genau wie PHP funktioniert, dann nimm doch einfach *PHP*. Ich wüsste nicht warum das auf einem Raspi Komplikationen machen sollte. Das ist letztendlich ein ganz normales Debian.
In Python, mit Bottle als Mikrorahmenwerk könnte das beispielsweise so aussehen:
Code: Alles auswählen
from bottle import default_app, request, view
app = default_app()
@app.get('/')
@view('form.html')
def get_index():
pass
@app.post('/')
@view('entered_data.html')
def post_index():
return {
'user': request.params['user'],
'password': request.params['password'],
'text': request.params['text'].strip() or 'keine Eingabe',
}
Mit `views/form.html`:
[codebox=html5 file=Unbenannt.html]<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Übertragung von Formularinhalten</title>
</head>
<body>
<h1>Das Formular</h1>
<p>
<form method="POST">
<label>Benutzername:</label>
<input type="text" id="user" name="user">
<br>
<label>Passwort:</label>
<input type="password" id="password" name="password">
<br>
<textarea id="text" name="text"></textarea>
<input type="submit" value="Senden">
</form>
</p>
</body>
</html>[/code]
Und `views/entered_data.html`:
[codebox=html5 file=Unbenannt.html]<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Übertragung von Formularinhalten</title>
</head>
<body>
<h1>Die übertragenen Daten</h1>
<p>Dein Name lautet: {{user}}.</p>
<p>Passwort: {{password}}</p>
<p>Der folgende Text wurde eingegeben: {{text}}</p>
</body>
</html>[/code]
Bei den Templates würde man am besten noch ein gemeinsames Basis-Template erstellen, damit man das HTML-Gerüst das in beiden Fällen gleich ist, nicht wiederholen muss. Und ich persönlich verwende statt der in Bottle integrierten Templates gerne Jinja2 als Template-Engine.