Python Webframework

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Mittwoch 30. Mai 2007, 15:47

Dann gibt es hier im Forum noch Leute, die dir einfach nur zu WSGI raten. Aber WSGI ist nur die Technik dahinter und ist für die einfache Programmierung einer kleinen (oder auch großen) Website zu tief am Eingemachten. (ich habe es ausprobiert -- es war schrecklich)
Die, die es allerdings (richtig) machen, empfehlen hier kein einfaches WSGI sondern entsprechende WSGI-Handler oder Frameworks.

Und sich über Vor und Nachteile von WSGI(-Anwendungen) aufzuregen, was die Einsatzmöglichkeit angeht, mit Karrigell im Rücken ist auch nicht wirklich sinnvoll. Denn Karrigell unterstützt es nicht, braucht (meines Wissens nach) immer den eigenen Webserver, was für Shared-Hosting schonmal absolut gar nicht (oder nur in extremfällen) möglich ist.
Das PHP Apps generell einfach zu installieren sind, liegt aber auch daran, das die Shared-Web-Server möglich offen dafür konfiguriert sind. Sicher ist das aber ehr weniger...
Genau, das ist auch mein Gedanke. Wie wird PHP ausgeführt? Entweder über mod_php bei Apache oda einfach über CGI. CGI ist bei Python ebenso die "einfachste" Anwendungsschicht. Zumindest ohne groß mit anderen Abstraktionsschichten (hieß das so?) wie mod_python etc. rumzumachen.

Und mal ehrlich: Mal genauer drüber nachgedacht, ist Python im Web zu 99,9% nicht schwerer/komplizierter, als PHP. Vergleichen mit Ruby oder Java braucht man das glaube ich nicht. (bei ruby weiß ich nicht, ob das auch so einfach über CGI geht)
Ja, das ist der Grund, weshalb Python in der Web-Programmierung nie den Stellenwert von PHP erreichen kann. Es ist zu kompliziert, eine einfache, dynamische Seite zu erstellen.
PHP ist einfach so einfach, weils jeder Shared Hoster anbietet. Als Hoster braucht man "nur" entsprechende (Apache) Module (und die meißten verwenden Apache) zu installieren, gut abzusichern und dann sollte die Konfiguration eigentlich komplett via .htaccess möglich sein. Und via .htaccess ist einiges möglich.

Also --> .htaccess + Konfiguration + entsprechender Handler für FastCGI, mod_python & co = Voll einsatzfähige Anwendung ohne Einschränkung.

Und rein von der Programmiererseite, willst du nicht sagen, das es so viel Schwerer ist eine Dynamische Internetapplikation zu erstellen, oder?

[offtopic]
Weil Colubrid ein paar Design Fehler hat und man die nicht fixen kann ohne bestehende Anwendungen kaputt zu machen. Daher werkzeug als unabhängiger Colubrid Nachfolger.
Die währen? (interessiert mich einfach ;) )
Nichts desto trotz habe ich mir Werkzeug die letzten Tage mal näher angeschaut und habe auch schon erste lauffähige mini Anwendungen hinbekommen. Außer, das das URL-Mapping irgentwie anders ist (ungewohnt für mich), is es ganz schick geworden. Nur einige Beispielanwendungen sind kaputt, werde mir nochmal alles anschauen und dir mal bescheid sagen, wenn ich mal irgentwann wieder Zeit habe ins IRC zu kommen.
Da reicht normalerweise hoch laden und Setup durchklicken/Config anpassen
Sag das nicht...

Entweder mache ich immer etwas falsch oder ich kenne Sehr viele Punkte, wo PHP Anwendungen nicht nur einfach hochladen und klick und fertig sind.
Viele (sogar sehr viele) benötigen auch noch die Anpassung von Anwendungsrechten. Hier fängts schon an *g*


Alles in Allem ist es nur eine Anschauung. Genauer betrachtet liegt alles vom Schwierigkeitsgrad nah bei einander.


MfG EnTeQuAk
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mittwoch 30. Mai 2007, 15:55

EnTeQuAk hat geschrieben:(bei ruby weiß ich nicht, ob das auch so einfach über CGI geht)
Ja. Seit Rails macht das aber keiner. Rails hat schon Hoster-Support in Form von FastCGI oder Mongrel.
EnTeQuAk hat geschrieben:Außer, das das URL-Mapping irgentwie anders ist (ungewohnt für mich)
Das Mapping scheint sich an das von Routes anzulehnen. Routes ist ein Bekannter aus Pylons, und es hat sich einiges von Rails abgeschaut.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Mittwoch 30. Mai 2007, 16:11

Ruby hat mit Rack jetzt ein WSGI ähnliches Interface bekommen. :-)
TUFKAB – the user formerly known as blackbird
N317V
User
Beiträge: 504
Registriert: Freitag 8. April 2005, 13:23
Wohnort: München

Mittwoch 30. Mai 2007, 16:27

Wenn ich nun aber kein eigenes Framework entwickeln will, wieso muss ich mich mit WSGI überhaupt beschäftigen? Und wieso ist das denn so wahnsinnig wahnsinnig wichtig, dass hier gleich der erhobene Zeigefinger mit Blitzen kommt, wenn jemand was anderes vorschlägt?
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.

Wie man Fragen richtig stellt
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Mittwoch 30. Mai 2007, 16:29

N317V hat geschrieben:Wenn ich nun aber kein eigenes Framework entwickeln will, wieso muss ich mich mit WSGI überhaupt beschäftigen? Und wieso ist das denn so wahnsinnig wahnsinnig wichtig, dass hier gleich der erhobene Zeigefinger mit Blitzen kommt, wenn jemand was anderes vorschlägt?
Schau dir den Blitz nochmal genauer an. Du sollst dich damit ja gar nicht beschäftigen. Sondern der Entwickler des Frameworks. Und der Karrigell Entwickler sträubt sich dagegen.
TUFKAB – the user formerly known as blackbird
N317V
User
Beiträge: 504
Registriert: Freitag 8. April 2005, 13:23
Wohnort: München

Mittwoch 30. Mai 2007, 16:42

@blackbird: Und wieso sollte mich das interessieren?
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.

Wie man Fragen richtig stellt
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Mittwoch 30. Mai 2007, 17:23

@N317V: Ich wage mal zu behaupten, dass in diesem Forum relativ viel geschrieben wird, was dich nicht interessiert.

Verwendest du ein Framework, das WSGI unterstützt, ist es für dich wirklich nichts weiter, als das Application-Objekt an das Gateway zu übergeben, und fertig.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
N317V
User
Beiträge: 504
Registriert: Freitag 8. April 2005, 13:23
Wohnort: München

Mittwoch 30. Mai 2007, 17:53

@birkenfeld: Ja, in Threads, die ich nicht lese wird sicherlich viel uninteressantes geschrieben. Darum lese ich sie ja nicht mal, geschweige denn dort zu posten.

Nun es wurde nach einem Framework gefragt, Karigell vorgeschlagen und dann dagegen argumentiert mit "Nicht WSGI-kompatibel". Das kann natürlich ein Aspekt in der Entscheidung für oder gegen ein bestimmtes Framework sein, aber ich hab manchmal den Eindruck, als sei das das allerallerwichtigste überhaupt, während es mir, offen gesagt, völlig wurscht ist. Wie meine Applikation mit der Umwelt kommuniziert, das Problem löse ich pro Installation ein einziges mal, während ich mich mit fast allen anderen Aspekten eines Frameworks doch viel häufiger rumschlagen muss.
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.

Wie man Fragen richtig stellt
fme
User
Beiträge: 34
Registriert: Sonntag 1. April 2007, 18:58
Wohnort: Bremen

Mittwoch 30. Mai 2007, 18:50

blackbird hat geschrieben:Weil Colubrid ein paar Design Fehler hat und man die nicht fixen kann ohne bestehende Anwendungen kaputt zu machen. Daher werkzeug als unabhängiger Colubrid Nachfolger.
Wurde zwar schon mal nach gefragt, aber die Antwort fehlt noch.
Was sind das für Design Fehler ?

Ich habe gerade angefangen eine Webapplikation mit Colubrid zu erstellen.
Noch ist es ziemlich leicht auf Werkzeug oder Co zu wechseln.
Daher würde mich die Antwort doch schon interessieren.
Zuletzt geändert von fme am Freitag 1. Juni 2007, 15:39, insgesamt 1-mal geändert.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Mittwoch 30. Mai 2007, 19:01

blackbird hat geschrieben:Sondern der Entwickler des Frameworks. Und der Karrigell Entwickler sträubt sich dagegen.
Hallo blackbird!

:lol: Ich glaube eher, dass er es nicht macht, weil er weiß, dass er es kaum schaffen kann. Das ganze Framework ist so aufgebaut, dass es relative Pfade verwendet und während der Codeausführung von einem Ordner in den anderen hüpft. Dann kommt noch dazu, dass viel nicht so programmiert ist, dass es nebeneinander ausgeführt werden könnte. Threads sind fast nicht machbar. Es scheint so, als hätte sich Pierre da ein wenig fest gefahren. Man konnte bei der mod_python-Diskussion ziemlich viel zwischen den Zeilen heraus lesen. Das ist einer der Gründe, weshalb ich mich im Moment auch mit anderen Frameworks beschäftige. Ich muss demnächst ein Projekt mit hunderten von dynamischen Seiten aufstellen. Dafür brauche ich eine solide Basis.

mfg
Gerold
:-)
[url]http://halvar.at[/url] | [url=http://halvar.at/elektronik/kleiner_bascom_avr_kurs/]Kleiner Bascom AVR Kurs[/url]
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Mittwoch 30. Mai 2007, 21:32

N317V hat geschrieben:Wie meine Applikation mit der Umwelt kommuniziert, das Problem löse ich pro Installation ein einziges mal, während ich mich mit fast allen anderen Aspekten eines Frameworks doch viel häufiger rumschlagen muss.
Nun ist nur die Frage nach der Anzahl Installationen und installierenden Personen.

Des weiteren bietet WSGI noch viele weitere Vorteile. Interessant sind da zum Beispiel die verschiedenen Middlewares.

Die Idee hinter WSGI ist definitiv sehr nett. Nur frage ich mich ob es nicht ein wenig zu Tief unten liegt für den Alltagsgebrauch.

Um zum meiner eigentlichen Frage zurück zu kommen. Mir ist die tolle Idee gekommen Django etwas umzustrukturieren / mir eine eigene Vorlage zu bauen die enthält was ich brauche und nicht mehr/weniger. Müsste ja angeblich recht einfach möglich sein.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mittwoch 30. Mai 2007, 23:20

veers hat geschrieben:Um zum meiner eigentlichen Frage zurück zu kommen. Mir ist die tolle Idee gekommen Django etwas umzustrukturieren / mir eine eigene Vorlage zu bauen die enthält was ich brauche und nicht mehr/weniger. Müsste ja angeblich recht einfach möglich sein.
Klar, du kannst in DJango auch eigene Teile benutzen. Aber je länger ich mit Django arbeite, desto mehr merke ich, dass ich andere Komponenten gerne nutzen würde. Sei es, weil das Django-ORM an einigen Stellen buggy ist oder weil die Template-Engine vergleichsweise beschränkt ist. Aber wenn ich etwas auswechsle, dann verliere ich immer mehr von der tollen Integration zwischen den einzelnen Django-Komponenten. Das ist der Punkt, ab dem man Pylons benutzt.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Donnerstag 31. Mai 2007, 00:35

Leonidas hat geschrieben:Klar, du kannst in DJango auch eigene Teile benutzen. Aber je länger ich mit Django arbeite, desto mehr merke ich, dass ich andere Komponenten gerne nutzen würde. Sei es, weil das Django-ORM an einigen Stellen buggy ist oder weil die Template-Engine vergleichsweise beschränkt ist. Aber wenn ich etwas auswechsle, dann verliere ich immer mehr von der tollen Integration zwischen den einzelnen Django-Komponenten. Das ist der Punkt, ab dem man Pylons benutzt.
Guter Punkt. Ich muss aber sagen an Django gefällt mir das Dispatching und die Template Engine. Der ORM, das Admin Tool etc. sind nette Zusätze.
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Donnerstag 31. Mai 2007, 09:12

Leonidas hat geschrieben:Aber je länger ich mit Django arbeite, desto mehr merke ich, dass ich andere Komponenten gerne nutzen würde. Sei es, weil das Django-ORM an einigen Stellen buggy ist oder weil die Template-Engine vergleichsweise beschränkt ist. Aber wenn ich etwas auswechsle, dann verliere ich immer mehr von der tollen Integration zwischen den einzelnen Django-Komponenten. Das ist der Punkt, ab dem man Pylons benutzt.
Es kommt halt darauf an, wie viel Zeit und Aufwand man in ein Projekt rein stecken möchte. Danach sollte man die Wahl des passenden Framework richten.

Hat man viel Zeit, stellt man sich die Komponenten selber zusammen. Hat man wenig Zeit oder möchte nicht so viel Aufwand betreiben, nimmt man django und hat alles dabei. Dann muß man natürlich mit einigen Einschränkungen leben. So ist es halt, wenn man es einfach haben will.

Allerdings finde ich, gibt es kaum Einschränkungen mit django ;) Gut, ich hätte gern SQLAlchemy genutzt. Aber eigentlich weiß ich überhaupt nicht warum! Eigentlich nur, weil alle begeistert davon sind. Das django ORM funktioniert z.Z. für mich ganz prima.

Welche Bugs hast du denn im ORM gefunden? Sind die Fehler bekannt?

Was genau findest du an der Template Engine beschränkt?
btw. mir fehlt immer noch der rekusiv Tag, siehe: http://www.python-forum.de/topic-9655.html


Vielleicht sollten wir das auch mal im Wiki festhalten...

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Donnerstag 31. Mai 2007, 10:16

jens hat geschrieben:Was genau findest du an der Template Engine beschränkt?
btw. mir fehlt immer noch der rekusiv Tag, siehe: http://www.python-forum.de/topic-9655.html
Vielleicht nicht so elegant wie Jinjas Lösung aber in eine Datei auslagern und rekursiv Includen?

Gibts einen Grund wieso du nicht einen eigenen Template Tag schreibst oder den von Greenpeace portierst?

Gruss,
Jonas
Antworten