Frage zu cgi.FieldStorage

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Samstag 7. Februar 2009, 22:01

Jein, es wird halt ggf. ein Wrapper aufgerufen, der das WSGI-Script an die Webserverschnittstelle bindet. Mit mod_wsgi braucht man so einen Wrapper nicht mehr.

Kommt jetzt drauf an, wie Du "Schritt" definierst. Man könnte es glaub ich so sagen: Es kommt ein Schritt hinzu, von dem Du nichts merkst.
Benutzeravatar
hendrikS
User
Beiträge: 420
Registriert: Mittwoch 24. Dezember 2008, 22:44
Wohnort: Leipzig

Samstag 7. Februar 2009, 22:14

Hmm: "Jein" und "ggf." hilft mir natürlich wenig.

Also um die Hello World Applikation zum Laufen zu bringen, muß ich ein und dieselbe Applikation zweimal starten. Einmal in der Konsole und einmal wie gehabt. Ist erstmal mindestens ein Schritt mehr. Ist das der Normalfall?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Samstag 7. Februar 2009, 22:21

hendrikS hat geschrieben:Hmm: "Jein" und "ggf." hilft mir natürlich wenig.
Dann lies eben im Web alles nach und filtere die Infos selber :-P
Also um die Hello World Applikation zum Laufen zu bringen, muß ich ein und dieselbe Applikation zweimal starten. Einmal in der Konsole und einmal wie gehabt. Ist erstmal mindestens ein Schritt mehr. Ist das der Normalfall?
Nein! Der Webserver ruft ein Script auf und fertig. Entweder ist es die Hello World Applikation direkt oder ein Wrapper-Script, welches intern dann auf eine gewisse Art und Weise Deine Applikation aufruft.

Wie ich schon sagte: Vom Automatismus her ändert sich quasi nichts!

Und noch einmal zu dieser "Konsolen"-Sache: Du startest da einfach den mitgelieferten minimalen Server vom Python WSGI Modul. Das ist eben ein einfacher, sehr simpler Webserver. Dieser ist eben vor allem für die Entwcklung gedacht und nicht für den produktiven Betrieb später.

Vorteil: Du musst Deine Applikation nicht nach jeder kleinen Änderung deployen (also die aktualsierten Dateien in ein bestimmtes Verzeichnis kopieren, auf das der webserver zugrreifen kann!)
Benutzeravatar
hendrikS
User
Beiträge: 420
Registriert: Mittwoch 24. Dezember 2008, 22:44
Wohnort: Leipzig

Samstag 7. Februar 2009, 22:43

Ja und hier ist die eigentliche Lücke. Also ich nutze zur Entwicklung und Test einen Webserver (Xitami). Für diese Zwecke super geeignet.
Nur dieses WSGI Hello World will eben nicht. Und es mueste es ja nach Deiner Aussage auch ohne das ich die Applikation in der Konsole starte.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Samstag 7. Februar 2009, 22:53

hendrikS hat geschrieben:Ja und hier ist die eigentliche Lücke. Also ich nutze zur Entwicklung und Test einen Webserver (Xitami). Für diese Zwecke super geeignet.
Kenne ich nicht, daher kann ich dazu nichts sagen ;-)
Nur dieses WSGI Hello World will eben nicht. Und es mueste es ja nach Deiner Aussage auch ohne das ich die Applikation in der Konsole starte.
Du wirfst hier zig Sachen durcheinander! Was ist "die Applikation"? Wie sieht Dein "Hallo Welt" Script aus?

Ich nehme an, dass Du bisher immer CGI als Gateway von Xitami aus genutzt hast?

Dann musst Du eben Deine WSGI-Applikation mit einem geeigneten Handler wrappen. Diesen kannst Du als kleines eigenständiges Mini-Script erstellen. Dieses lässt Du dann vom webserver aus aufrufen.

[wiki]WSGI[/wiki]

Da findest Du ein Bsp dazu.
Benutzeravatar
hendrikS
User
Beiträge: 420
Registriert: Mittwoch 24. Dezember 2008, 22:44
Wohnort: Leipzig

Samstag 7. Februar 2009, 23:22

Ich habe mit den Beispielen aus dem Wiki mal ein bisschen rumgespielt.
Habe beides probiert. Standallone und CGI. Es läuft so, daß es in beiden Fällen irgendwie einleuchtend ist. Ich denke daruf kann ich mal aufbauen und werde jetzt versuchen meine bisherige CGI Anwendung mal für WSGI umzuschreiben.

Danke erst mal Hyperion!!

Sonst hoffe ich, daß der Urheber des Threads sein Problem inzwischen in den Griff bekommen hat.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Samstag 7. Februar 2009, 23:41

hendrikS hat geschrieben:Ich habe mit den Beispielen aus dem Wiki mal ein bisschen rumgespielt.
Habe beides probiert. Standallone und CGI. Es läuft so, daß es in beiden Fällen irgendwie einleuchtend ist. Ich denke daruf kann ich mal aufbauen und werde jetzt versuchen meine bisherige CGI Anwendung mal für WSGI umzuschreiben.
Dann such Dir aber ein gescheites Framework und mach das nicht per Hand - ich habe letztes Jahr mit Werkzeug angefangen ein wenig in dem Bereich zu spielen. Ist eben lightweight - dafür sehr felxibel.

Ansonsten findet man ja im wiki einige andere :-)
Danke erst mal Hyperion!!
NP - auch wenn ich hier nur eine "kleine" Leuchte bin im Vergleich zu den WSGI & Pythonprofis ;-)
fantomas
User
Beiträge: 5
Registriert: Freitag 6. Februar 2009, 13:18

Sonntag 29. März 2009, 10:10

Hallo,

der Vollständigkeit halber; das Thema hat sich dann wie folgt erledigt:

Code: Alles auswählen

from os import getenv

qs = getenv("QUERY_STRING")
pi = getenv("PATH_INFO")
Die Strings kann man dann selber nach Belieben weiterverarbeiten.
Ob das der Königsweg ist, weiss ich nicht, aber es funktioniert bisher ganz gut :-)
Antworten