PHP _GET in Python?

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
ButterflyEffect
User
Beiträge: 11
Registriert: Freitag 17. Oktober 2008, 16:13

Hi

Ich suche die Pythonalternative zu $id = $_GET['id']; von PHP...
also ne id aus der URL rauslesen...
könnte mir jemand helfen?
danke
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Wie erstellst du deine Seiten? CGI? Ein Framework? Ohne solche Informationen kann man dir nicht weiterhelfen.
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Bei Werkzeug wäre es `request.args.get('foo')`, bei Paste `request.GET.get('foo')`, bei CherryPy würde der Wert als Argument an die jeweilige Controller-Methode übergeben werden, bei Verwendung des `cgi`-Moduls gibt's iirc eine zu instanziierende `FieldStorage`-Klasse etc.

All das sind APIs, die auf das per *CGI, WSGI oder sonstwie übergebene Mapping an Headern und Umgebungsvariablen sowie den Request-Body zugreifen.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Bei Django wäre es übrigens genauso wie bei Paste, wenn ich mich richtig erinnere.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
ButterflyEffect
User
Beiträge: 11
Registriert: Freitag 17. Oktober 2008, 16:13

habe cgi....

form = cgi.FieldStorage()

das läuft danke...

hab nun aber ein neues Problem...
ich habe 2 verschiedene Buttons (Change und Search)
ich dachte ich könne nun die Buttons mit value definieren und dan so rauslesen welcher button gedrückt wurde...aber ich bekomme immer einen keyerror, beim herauslesen eines Buttonvalues...

buttonwert = form['changeF'].value

geht das so nicht, oder hab ich einfach nur nen falschen code?
ButterflyEffect
User
Beiträge: 11
Registriert: Freitag 17. Oktober 2008, 16:13

hab ne lösung gefunden...einfach ein "try" um den aufruf, dann crashed es nicht mehr
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Aber darauf achten, dass du nur den KeyError durch Except abfängst. Generelle try...except-Statements können ziemlich schnell für Grübelei sorgen.
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Du kannst auf ein dict auch mit ``einDict.get('schluessel', 'Wert-wenn-nicht-gefunden')`` zugreifen und so einen ``KeyError`` umgehen.

Warum benutzt du für "Change" und "Search" nicht zwei verschiedene Formulare? Von mehreren Buttons pro Formular habe ich noch nie besonders viel gehalten, aber das scheint - insbesondere bei Einsteigern - recht populär zu sein.
Antworten