mod-python schnuppern

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Xabyt hat geschrieben:oder gibt es da eine andere möglichkeit, also dass ich dieses "?home" anhängsel auslesen kann
Hi Xabyte!

So einen Anhängsel

Code: Alles auswählen

http://localhost:8888/cgi-bin/cgi_info.py/?ordnername/seitenname.html
--> "?ordnername/seitenname.html" kannst du mit ``sys.argv[1]`` einlesen. Allerdings hast du dann keine Chance mehr, ein zusätzliches Argument als GET-Variable zu übergeben. Du **musst** dann Argumente per POST übergeben.
Ich kann mich aber auch täuschen.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Xabyt
User
Beiträge: 32
Registriert: Montag 30. April 2007, 14:05

Genau sowas meine ich, sagmal bei deiner Seite konnte ich Adressen wie "Unterkategorie/unterordner/" entdecken, erstellst du für jede Kategorie Unterordner oder hast du da einen Trick dass aus z.B. seite xyz.htm www.test.de/xyz oder ?xyz wird, mir ist wie gesagt nur ?seite=xyz geläufig. und wie funktioniert das Listenelement und/oder Funktion (?) sys.argv[1] ?
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Xabyt hat geschrieben:erstellst du für jede Kategorie Unterordner oder hast du da einen Trick dass aus z.B. seite xyz.htm www.test.de/xyz oder ?xyz wird, mir ist wie gesagt nur ?seite=xyz geläufig. und wie funktioniert das Listenelement und/oder Funktion (?) sys.argv[1] ?
Hi Xabyt!

Ich nehme an, du sprichst von meiner Website. -- Ich hatte nicht viel Zeit als ich die Site erstellt habe. Sie ist mit Plone http://plone.org/ gemacht. Plone baut auf dem Web-Applikationsserver Zope http://zope.de/ http://zope.org/ auf.

Ich fasse gerne Dinge in einem Ordner zusammen, die ich für eine Seite (nicht engl. "Site") brauche; Bilder oder sonstige Komponenten einer Seite kommen alle in den Ordner. Statt viele HTML-Seiten in einem Ordner habe ich lieber viele Ordner mit einer HTML-Seite. Natürlich gibt es Bilder die in vielen Seiten wiederverwendet werden. Diese kommen natürlich in einen eigenen Sammelordner.

Im Zope muss so eine Seite "index_html" heißen, dann wird sie angezeigt, wenn im URL nur der Ordnername angegeben wird. Im Apachen heißt so eine Seite standardmäßig "index.html". Man kann aber für jeden Ordner genau einstellen, wie die Seite heißen soll, die geladen wird wenn als URL nur der Ordner angegeben wird. Siehe: http://httpd.apache.org/docs/2.2/mod/mod_dir.html Man kann, glaube ich, auch Python-Dateien angeben.

Wenn du mehr mit CGI machen möchtest, dann würde ich mir sofort den Apachen installieren und die Konfiguration so umbiegen, dass nicht nur der "cgi-bin"-Ordner für CGI-Skripte zuständig ist. So kannst du dir deine Anwendungsstruktur selber einteilen. Siehe: http://httpd.apache.org/docs/2.2/howto/cgi.html

Code: Alles auswählen

/myapplication/
  |- myapplication.py
  |- index.py
  |- bild1.jpg
  |- bild2.jpg
  |- kontakt/
  |    |- index.py
  |    |- bild1.jpg
  |    |- bild2.jpg
  |- lebenslauf/
  |    |- index.html
  |    |- bild1.jpg
  |    |- bild2.jpg
  |- hauptkategorie/
       |- index.py
       |- bild1.jpg
       |- bild2.jpg
       |- unterkategorie/
            |- index.py
            |- bild1.jpg
            |- bild2.jpg
Ein positives CGI-Beispiel: http://ephemeriden.com/

CGI ist einfach und portabel. Man sollte, meines Erachtens, damit Erfahrung sammeln, aber für spätere Projekte sollte man sich ein gutes Web-Framework aussuchen. Und leider sind wir uns in der Python-Community nicht einig, welches Framework "das Beste" ist.

Ich zeige mal ein paar auf:

- Karrigell: klein, einfach, in wenigen Stunden beherrschbar

- Zope: mittelgroß, Basis in wenigen Tagen beherrschbar

- Plone (CMS, das auf Zope aufbaut): groß, in wenigen Wochen beherrschbar

- Django: ???, ???

- Turbo Gears: ???, ???

- Colubrid: klein, ???

...

mfg
Gerold
:-)
Zuletzt geändert von gerold am Mittwoch 2. Mai 2007, 15:46, insgesamt 1-mal geändert.
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Xabyt
User
Beiträge: 32
Registriert: Montag 30. April 2007, 14:05

Gut, ich glaube ich werde mit CGI arbeiten. Aber sag mal folgendes Skript welches ich auf drweb.de gefunden habe funktioniert anscheinend nur mit CGI-skripten. Wie muss ich es umändern/gestalten dass man auch an ein PHP Skript eine Antwort senden kann?

Code: Alles auswählen

#!/usr/bin/python
import cgi
import urllib
puffer = cgi.FieldStorage ()
url = puffer["url"].value
email = puffer["email"].value
parameter = urllib.urlencode({'url': url, 'email': email, 'action': "Submit"})
urllib.urlopen ("http://www.xy.de/cgi-bin/submit.cgi", parameter)
print "Content-Type: text/plain \n\n"
print "Eintrag erfolgt" 
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Xabyt hat geschrieben:Wie muss ich es umändern/gestalten dass man auch an ein PHP Skript eine Antwort senden kann?
Hi Xabyte!

Bitte präzisiere deine Frage (Was willst du genau damit erreichen?) und stelle sie bitte in einem neuen Thread.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Xabyt
User
Beiträge: 32
Registriert: Montag 30. April 2007, 14:05

Mach ich, sonst wird das hier doch ein wenig voll. Ich heiße übrigens Xabyt ohne e :)
Antworten