redirect

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
debian75
User
Beiträge: 90
Registriert: Dienstag 27. November 2007, 01:05

salve,

kann ich irgendwie zu einer url redirecten ohne dass ich ein hilfsfile benötige ? also ich könnte ein html oder so aufrufen, welches das macht, aber lieber wärs mir das in einer funktion zu machen.

also sowas:

Code: Alles auswählen

def redirect (url):
---> weiterleitung zu der url

redirect(http://www.google.com)
gibt es sowas ?
debian75
User
Beiträge: 90
Registriert: Dienstag 27. November 2007, 01:05

forward würde auch gehen
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Öhm oO... Sowas?

Code: Alles auswählen

In [3]: import webbrowser

In [4]: webbrowser.open("http://google.de")
Out[4]: True
debian75
User
Beiträge: 90
Registriert: Dienstag 27. November 2007, 01:05

thnx :)
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo debian75!

Oder meintest du serverseitig aus CherryPy heraus?

Code: Alles auswählen

raise cherrypy.HTTPRedirect("http://google.de")
mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
debian75
User
Beiträge: 90
Registriert: Dienstag 27. November 2007, 01:05

thnx :)
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Oder meintest du Serverseitig aus einer WSGI Anwendung heraus? Mit Werkzeug ganz einfach:

Code: Alles auswählen

from werkzeug import redirect
return redirect("http://www.example.org/")
*SCNR*
TUFKAB – the user formerly known as blackbird
debian75
User
Beiträge: 90
Registriert: Dienstag 27. November 2007, 01:05

hehe, jetzt überschlagen sich die möglichkeiten :)

werkzeug hab ich im moment nicht, ich wühle mich noch durch gerolds cheerypy + cheetah kombination durch :)
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

debian75 hat geschrieben:werkzeug hab ich im moment nicht, ich wühle mich noch durch gerolds cheerypy + cheetah kombination durch :)
Jeder macht mal Fehler ^^
TUFKAB – the user formerly known as blackbird
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

mitsuhiko hat geschrieben:
debian75 hat geschrieben:werkzeug hab ich im moment nicht, ich wühle mich noch durch gerolds cheerypy + cheetah kombination durch :)
Jeder macht mal Fehler ^^
Hallo mitsuhiko!

Für alle, die nicht wissen was du damit meinst. Es geht um CherryPy und die von mir inzwischen bevorzugte Kombination mit Cheetah:

>> http://halvar.at/python/cherrypy_cheetah/ <<

Es gibt Leute die ein gutes, gereiftes Programm -- und dafür halte ich CherryPy -- sehr schätzen. Vor zehn Jahren dachte ich auch noch, dass ich jedem Hype nachrennen muss. Inzwischen schätze ich geradlinige, durchdachte Tools viel mehr, da sie mich viel schneller (mit weniger Lernaufwand) zum Ziel bringen.

Auch Cheetah hat diese Vorteile. Nichtprogrammierer verstehen schon nach kurzer Erklärung, wie man grundlegend damit umgehen kann. Auch wenn man sich erst an das Doppelkreuz "#" als Einleitung für Cheetah-Befehlszeilen gewöhnen muss.

Und die Cheetah-Vorlagenvererbung erspart einem viel Tipparbeit. Man erstellt eine Hauptvorlage. Untervorlagen erben von der Hauptvorlage und überschreiben nur die Blöcke, die sich von der Hauptvorlage unterscheiden sollen. -- Sehr einfach und sehr flexibel.

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
debian75
User
Beiträge: 90
Registriert: Dienstag 27. November 2007, 01:05

also für meine zwecke, eine sehr kleine website, finde ich diese kombination im moment super.

ich denke ich werde dann wieder ein bisschen fluchen sobald ich nen gescheiten webserver haben will, sprich das ganze irgendwie mit lighttpd oder apache laufen lassen will....aber das ist wohl bei python generell so.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

gerold hat geschrieben:Es gibt Leute die ein gutes, gereiftes Programm -- und dafür halte ich CherryPy -- sehr schätzen. Vor zehn Jahren dachte ich auch noch, dass ich jedem Hype nachrennen muss. Inzwischen schätze ich geradlinige, durchdachte Tools viel mehr, da sie mich viel schneller (mit weniger Lernaufwand) zum Ziel bringen.
Wieso Hype? CherryPy ist doch Dank TurboGears genauso gehypted wie Django. Nur halt, dass TurboGears die Leute wegrennen.
Auch Cheetah hat diese Vorteile. Nichtprogrammierer verstehen schon nach kurzer Erklärung, wie man grundlegend damit umgehen kann. Auch wenn man sich erst an das Doppelkreuz "#" als Einleitung für Cheetah-Befehlszeilen gewöhnen muss.
Wenn man für das Erlernen der Basics einer Template Engine länger als fünf Minuten braucht hat die Template Engine versagt oder die Template Engine nutzt XML, wie Genshi. Dort musst du dir noch die XML Basics erarbeiten, wenn du sie nicht kennst.
Cheetah war vor Jahren die fortschrittlichste Python Template Engine und sie hat sicher eingen anderen Template Engines immer wieder als Anhaltspunkt gedient. Dennoch ist Django/Jinja/Mako wesentlich einsteigerfreundlicher als Cheetah.
Und die Cheetah-Vorlagenvererbung erspart einem viel Tipparbeit. Man erstellt eine Hauptvorlage. Untervorlagen erben von der Hauptvorlage und überschreiben nur die Blöcke, die sich von der Hauptvorlage unterscheiden sollen. -- Sehr einfach und sehr flexibel.
Das hat jede Template Engine

Meine Ablehnung gegenüber CherryPy auf den Punkt gebracht: Ich hab dank TurboGears kurzzeitig mit dem Quellcode dahinter und dem Config System zu tun gehabt und das ist ein einziger riesiger Hack. Nicht ganz so schlimm wie Karrigell. CherryPy ist zwar Gott sei Dank seit 3.0 WSGI kompatibel, aber was es mit der Engine anstellt ist abartig. In der Hälfte der Umgebungen wo es läuft musst du einen Exit Handler definieren damit die Engine wieder sauber runterfährt und schlimmer, in jedem Kindprozess schauen ob die Engine noch nicht läuft und dann starten.

gerold: Werd glücklich mit CherryPy, Karrigell und Cheetah, aber drücks bitte nicht jedem aufs Auge. Wer mit der Konfiguration das ganze in einen Apachen integrieren will hat so viele Schmerzen wie sonst mit keiner.

Python Webentwicklung ist spannend, einfach und kann PHP und Ruby on Rails in jeder Weise ersetzten. :-)

@debian75: ist es nicht. Das ist sehr einfach und alle meine Python Anwendungen laufen hervoragend und einfach hinter Apache. Allerdings hat dieses Forum so die Eigenheit, dass gerold's momentane Lieblingsframeworks immer eigene Wege gehen und traurigerweise viele Neuankömmlinge blind hinten nach trotten.
TUFKAB – the user formerly known as blackbird
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo mitsuhiko!
mitsuhiko hat geschrieben:Wieso Hype? CherryPy ist doch Dank TurboGears genauso gehypted wie Django. Nur halt, dass TurboGears die Leute wegrennen.
Bitte vergleiche TurboGears und Django nicht mit CherryPy. TurboGears und Django sind Monster. CherryPy kümmert sich stattdessen nur um die Dinge, die für den Webprogrammierer lästig aber trotzdem wichtig sind.
- Auslieferung der Daten
- Sessionhandling
- Authentifizierung
- Threading
mitsuhiko hat geschrieben:Cheetah war vor Jahren die fortschrittlichste Python Template Engine und sie hat sicher eingen anderen Template Engines immer wieder als Anhaltspunkt gedient.
Und es entwickelt sich ständig weiter.
mitsuhiko hat geschrieben:
Untervorlagen erben von der Hauptvorlage und überschreiben nur die Blöcke, die sich von der Hauptvorlage unterscheiden sollen. -- Sehr einfach und sehr flexibel.
Das hat jede Template Engine
Das kann ich nicht bestätigen.
mitsuhiko hat geschrieben:Meine Ablehnung gegenüber CherryPy auf den Punkt gebracht: Ich hab dank TurboGears kurzzeitig mit dem Quellcode dahinter und dem Config System zu tun gehabt
Alles entwickelt sich weiter. Außerdem ist TurboGears NICHT CherryPy.
mitsuhiko hat geschrieben:gerold: Werd glücklich mit CherryPy, Karrigell und Cheetah, aber drücks bitte nicht jedem aufs Auge.
mitsuhiko: Werd glücklich mit deinen WSGI-Tools, aber drück sie nicht jedem aufs Auge. Und noch viel wichtiger: Versuche nicht jeden von anderen Lösungen abzubringen, nur weil du dein WSGI pushen möchtest.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

gerold hat geschrieben:- Auslieferung der Daten
- Sessionhandling
- Authentifizierung
- Threading
Threading... Bis auf diesen Punkt ist das ja alles schön und gut, aber das bekommt man auch in weniger als 17.000 Zeilen Code hin :-)
Und es entwickelt sich ständig weiter.
Tut sich jede nicht tote Template Engine.
Das kann ich nicht bestätigen.
Welche nicht? Von den Zope Engines mal abgesehen.
Alles entwickelt sich weiter. Außerdem ist TurboGears NICHT CherryPy.
Aber der HTTP Layer ist. Und CherryPy tut noch immer weh wenn man sich den Quellcode ansieht.
Werd glücklich mit deinen WSGI-Tools, aber drück sie nicht jedem aufs Auge. Und noch viel wichtiger: Versuche nicht jeden von anderen Lösungen abzubringen, nur weil du dein WSGI pushen möchtest.
Es ist leider nicht mein WSGI, sondern auf den genialen Einfall kam PJE. Und anscheind wirst auch du glücklich mit WSGI weil CherryPy ist nichts anders.

Und nein, ich pushe meine WSGI tools hier nicht, sondern rede nur schlecht über CherryPy, das ist ein elementarer Unterschied :-) Ich find nur die Polarisierung hier auf „gerold's favourite framework“ etwas schmerzend.
TUFKAB – the user formerly known as blackbird
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

gerold hat geschrieben:Bitte vergleiche TurboGears und Django nicht mit CherryPy. TurboGears und Django sind Monster. CherryPy kümmert sich stattdessen nur um die Dinge, die für den Webprogrammierer lästig aber trotzdem wichtig sind.
- Auslieferung der Daten
- Sessionhandling
- Authentifizierung
- Threading
Auslieferung der Daten - dafür gibt es WSGI-Tools wie das in Python *mitgelieferte* ``wsgiref`` und Luke Arnos``static``.
Sessionhandling - Dafür gibt es Beaker. mitsuhiko hat noch securesession implementiert, was noch etwas anders funktioniert.
Authentifizierung - Dafür gibt es WSGIAuth, AuthKit WSGIUtils. Damit bekommt man sogar OpenID-Authentifizierung geschenkt.
gerold hat geschrieben:
mitsuhiko hat geschrieben:Cheetah war vor Jahren die fortschrittlichste Python Template Engine und sie hat sicher eingen anderen Template Engines immer wieder als Anhaltspunkt gedient.
Und es entwickelt sich ständig weiter.
Die anderen Ebenso. Und wenn man mal guckt, was für ein Tempo der Mako-Autor da in Sachen Entwicklungsgeschwindigkeit hingelegt hat muss man staunen.
gerold hat geschrieben:
mitsuhiko hat geschrieben:
Untervorlagen erben von der Hauptvorlage und überschreiben nur die Blöcke, die sich von der Hauptvorlage unterscheiden sollen. -- Sehr einfach und sehr flexibel.
Das hat jede Template Engine
Das kann ich nicht bestätigen.
Django hats, Jinja hats, Mako hats. Wer etwas anderes hat, hat entweder spezielle Anforderungen oder womöglich die falsche Engine.
gerold hat geschrieben:
mitsuhiko hat geschrieben:gerold: Werd glücklich mit CherryPy, Karrigell und Cheetah, aber drücks bitte nicht jedem aufs Auge.
mitsuhiko: Werd glücklich mit deinen WSGI-Tools, aber drück sie nicht jedem aufs Auge. Und noch viel wichtiger: Versuche nicht jeden von anderen Lösungen abzubringen, nur weil du dein WSGI pushen möchtest.
mitsuhiko pusht nicht "sein" WSGI sondern Pythons WSGI. WSGI wird über kurz oder lang die gleiche Stellung wie die DB-API einnehmen, an selbstgebackenen Anwendungen festzuhalten macht keinen Sinn, das ist so als würde man sich gegen die DB-API sein, weil ein bestimmtes Datenbankmodul eine angenehmere API hat.

Mit Repoze geht auch Zope auf WSGI zu, mit Grok nähert es sich auch an die anderen Frameworks wie Django an.

Interessant ist auch der Artikel Grok, Repoze, and WSGI beg the question, are webframeworks yesterday's news?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Leonidas hat geschrieben:
gerold hat geschrieben:mitsuhiko: Werd glücklich mit deinen WSGI-Tools, aber drück sie nicht jedem aufs Auge.
mitsuhiko pusht nicht "sein" WSGI sondern Pythons WSGI.
Hallo Leonidas!

Bei meiner Aussage bezog ich mich definitiv auf "seine WSGI-Tools". WSGI als Python-Webschnittstelle zu etablieren finde ich toll. Und ich finde es auch super, dass CherryPy so gut mit WSGI kann. Es ist positiv, zu wissen, dass man CherryPy mit WSGI-Middleware erweitern kann falls einem eine Funktion fehlt.

Es ist doch schön, dass jeder die Tools einsetzen kann, die ihm/ihr am besten gefallen und mit denen er/sie am schönsten klar kommt. :-)

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

gerold hat geschrieben:Bei meiner Aussage bezog ich mich definitiv auf "seine WSGI-Tools". WSGI als Python-Webschnittstelle zu etablieren finde ich toll.
Werkzeug ist wohl die direkteste und einfachste Art WSGI einzusetzen. Werkzeug ist ein Nachfahre Colubrids, das genau deswegen entstand weil WSGI direkt zu programmieren einfach unangenehm ist. Der andere direkte Weg wäre Paste, was durchaus an einigen Stellen Werkzeug ähnelt (hat Ian Bicking auch schon gemeint) aber nun ja - für den Einsteiger *wesentlich* komplizierter ist.
CherryPy kann WSGI zwar auch, aber das wurde hinterher eingefügt, so wie in Django (Djangos Middlewares sind keine WSGI Middlewares). Daher ist die Unterstützung nicht ganz so gut wie etwa mit Pylons.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
debian75
User
Beiträge: 90
Registriert: Dienstag 27. November 2007, 01:05

also mich wundert nicht, dass ruby on rails derart beliebt ist...die sind sich weigstens einig :)

irgendwie wurde mein thread hijacked :)
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

debian75 hat geschrieben:also mich wundert nicht, dass ruby on rails derart beliebt ist...die sind sich weigstens einig :)
Weder in Python noch in PHP noch in Ruby Land gibt es eindeutige Lösungen für die Web Frage. Aber in Python sind wengistens alle Frameworks kompatibel, die einen mehr als die anderen :-)
irgendwie wurde mein thread hijacked :)
Tut mir leid ;)
TUFKAB – the user formerly known as blackbird
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

debian75 hat geschrieben:also mich wundert nicht, dass ruby on rails derart beliebt ist...die sind sich weigstens einig :)
Ja. Ehm... nein. Ich zähle mindestens 6 Frameworks.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten