Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:pythoncgi:cgi

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
python:pythoncgi:cgi [2023/06/16 09:44] – [CGI und Python] lutzpython:pythoncgi:cgi [2023/06/16 15:53] (aktuell) – [Ein komplexeres Beispiel] lutz
Zeile 9: Zeile 9:
  
 <code python script01.py> <code python script01.py>
-#!/usr/bin/python3 
-print(""" 
 #!/usr/bin/env python3 #!/usr/bin/env python3
 print(""" print("""
Zeile 30: Zeile 28:
  
 ====CGI-Script mit dem http.server von Python aufrufen==== ====CGI-Script mit dem http.server von Python aufrufen====
 +
 +Zunächst erzeugen wir ein Verzeichnis ''%%cgi-bin%%'' und kopieren das Script hinein. In unserem Fall wurde das Verzeichnis ''%%cgi-bin%%'' direkt auf dem Laufwerk N: erzeugt.
 +
 +{{ :python:pythoncgi:cgi01.png?direct&600 |}}
 +
 +Anschließend öffnen wir die Powershell und wechseln ins übergeordnete Verzeichnis von ''%%cgi-bin%%'', also in unseren Fall direkt ins Laufwerk N:.
 +
 +Danach starten wir den Webserver mit ''%%python -m http.server --cgi 8888%%'', dabei startet ''%%python -m http.server%%'' den Server, ''%%--cgi%%'' macht den Server CGI-fähig und ''%%8888%%'' gibt den Port an, auf dem der Server läuft.
 +
 +{{ :python:pythoncgi:cgi02.png?direct&600 |}}
 +
 +Jetzt können wir unser Script im Webbrowser mit ''%%http://localhost:8888/cgi-bin/script01.py%%'' aufrufen. Dabei ist ''%%http://localhost:8888%%'' der lokale Webserver auf dem Port ''%%8888%%'', ''%%/cgi-bin/%%'' das Verzeichnis, in dem  das Script liegt und ''%%script01.py%%'' der Name des Scripts.
 +
 +{{ :python:pythoncgi:cgi03.png?direct&600 |}}
 +
 +**Erklärvideo**
 +
 +{{youtube>e_tVge5_1Ek}} 
 +
 +\\
 +
 +**Aufgabe 1**
 +
 +Teste das Script!
 +
 +====Ein komplexeres Beispiel====
 +
 +Im folgenden Beispiel werden nun einige weitere Pythonfunktionen verwendet:
 +
 +<code python script02.py>
 +#!/usr/bin/env python3
 +from datetime import date
 +
 +today = date.today()
 +
 +header = '''
 +<!DOCTYPE html>
 + 
 +<html lang="de">
 +    <head>
 +        <meta charset="utf-8">
 +        <title>Python - CGI-Programmierung</title>
 +    
 +    </head>
 +    <body>
 +'''
 +
 +footer = '''
 +    </body>
 +</html>
 +'''
 +
 +print(header)
 +print("<h1>Datumscript</h1>")
 +print("<p>Heute ist der ",today,"!</p>",sep='')
 +print(footer)
 +</code>
 +
 +  * Mit der Zeile ''%%from datetime import date%%'' wird die Python-Datumsbibliothek importiert und mit ''%%today = date.today()%%'' wird das aktuelle Datum in die Variable ''%%today%%'' geschrieben.
 +  * Der Kopf- und Fußbereich der HTML-Seite wird in die Variablen ''%%header%%'' und ''%%footer%%'' geschrieben. Diese können dann mit ''%%print%%'' ausgegeben werden.
 +  * Nun werden die einzelnen HTML-Elemente ausgegeben:
 +    * ''%%print(header)%%'' der Kopfbereich der Webseite
 +    * ''%%print("<h1>Datumscript</h1>")%%'' die Überschrift
 +    * ''%%print("<p>Heute ist der ",today,"!</p>",sep='')%%'' das aktuelle Datum
 +    * ''%%print(footer)%%'' der Fußbereich der Webseite
 +
 +**Aufgabe 2**
 +
 +Teste das Script!
 +
 +**Aufgabe 3**
 +
 +Erweitere das Script, so dass auch noch die Uhrzeit ausgegeben wird!
python/pythoncgi/cgi.1686901460.txt.gz · Zuletzt geändert: 2023/06/16 09:44 von lutz