Python Webframework

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
N317V
User
Beiträge: 504
Registriert: Freitag 8. April 2005, 13:23
Wohnort: München

@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

@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

@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

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: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
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:

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
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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 (former) Modvoice
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

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
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

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...

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:

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
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

veers hat geschrieben:Gibts einen Grund wieso du nicht einen eigenen Template Tag schreibst oder den von Greenpeace portierst?
Ja, ich hab es einfach nicht hinbekommen ;)
Ich muß mich damit aber nochmal genau beschäftigen.

Allerdings blicke ich durch Greenpeace Code nicht wirklich durch... Von daher bleibt nur das selber machen...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

jens hat geschrieben: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.
Siehst du: Du brauchst SQLAlchemy gar nicht. Warum solltest du es dann einsetzen. Das ist in dem Fall sinnbefreit. Was ich gebraucht hätte, waren sortierte Felder im Django-ORM, was ich dann durch ein zusäzliches ``position``-Feld und einiges an Meta-Magie gelöst habe.
jens hat geschrieben:Welche Bugs hast du denn im ORM gefunden? Sind die Fehler bekannt?
Der Mutually-Referential-Bug. Der ist inzwischen zwar geöst, aber das hat auch schon ziemlich lange gedauert.
jens hat geschrieben:Was genau findest du an der Template Engine beschränkt?
Die Argumente an die Filter sind sinnlos gelöst, das i18n-System ist fest an ``gettext`` verdrahtet (habe mir gestern angeschaut wie es in Jinja ist - wesentlich besser), es ist nicht möglich mehrere Variablen zusammenzufassen und sie dann zu ``joinen`` (braucht man, wenn man mehrere Felder aus dem Model mit Kommas zwischendrin anzeigen will), es ist nicht möglich diese Argumente davor noch zu übersetzen, etc. Klar, das meiste lässt sich mit eigenen Tags machen, aber die muss man erstmal schrieben.

ich bin im Moment dabei, eine neue I18N-Maschinerie für DJango zu schreiben, angelehnt an nesh.translation. Habe gestern auch noch django-multilingual gefunden, aber das scheint mir genau der falsche Weg zu sein.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Leonidas hat geschrieben:Was ich gebraucht hätte, waren sortierte Felder im Django-ORM
Zu dem Thema gehts hier weiter: http://www.python-forum.de/topic-10824.html

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Vorweg: EnTeQuAk, fme und andere, die sich angesprochen fühlen sollten, gewöhnt euch bitte dringendst an, Zitate mit dem Namen des Autors zu erstellen, da sonst völlig der Kontext flöten geht.

N317V hat geschrieben: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.
Der springende Punkt ist für mich einfach der, dass ein WSGI-basiertes Framework eine feste Schnittstelle besitzt. Dadurch kann sowohl der einzige Anwender als auch eine Masse von Nutzern es auf beliebigem Wege deployen. Sei es Apache, Lighty oder Standalone, auch nur zum Testen oder Weiterentwickeln. Und spätestens wenn ein Tausch des Webservers, ein Umzug auf einen anderen Server, das Nutzen eines zweiten, anders ausgestatteten Servers ansteht, ein essentielles Paket nicht mehr weiterentwickelt wird und/oder gravierende Sicherheitslöcher darin gefunden werden, was einen solchen Wechsel unausweichlich macht, wirst du dir in den Arsch beißen, wenn du dich mit einer Anwendung oder einem Framework fest bspw. Apache+mod_python verschrieben hast. Mit WSGI bleibst du langfristig flexibel.

Ist das nicht ein gravierender Vorteil?
N317V
User
Beiträge: 504
Registriert: Freitag 8. April 2005, 13:23
Wohnort: München

Y0Gi hat geschrieben:Der springende Punkt ist für mich einfach der, dass ein WSGI-basiertes Framework eine feste Schnittstelle besitzt. [...] Ist das nicht ein gravierender Vorteil?
Na klar, das ist ein super Vorteil. Ich kann es aber nicht als alleiniges K.O.-Kriterium gelten lassen, einfach weil ein Framework aus so viel mehr Komponenten und Aspekten besteht. Mich nervt ehrlich gesagt auch dieses WSGI-Kreuzrittertum. Wenn Ihr wollt, dass WSGI weiter verbreitet wird, dann schreibt bitte mehr verständliche Artikel und Tutorials dazu, aber bitte, bitte verschont mich mit sowas wie dem animierten GIF mit den Blitzen. Die Zeit die es kostet sowas zu erstellen, kann man sicherlich sinnvoller nutzen.
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.

Wie man Fragen richtig stellt
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

N317V hat geschrieben:Na klar, das ist ein super Vorteil. Ich kann es aber nicht als alleiniges K.O.-Kriterium gelten lassen, einfach weil ein Framework aus so viel mehr Komponenten und Aspekten besteht.
Das ist es doch gerade: Jedes Python-Webframework sollte auf WSGI aufsetzen. Dann hat man über WSGI die freie Wahl des Deployment und über das Framework wie Wahl der Funktionalität, die man sich damit dazuholt. Es sollten also *alle* Frameworks WSGI können, damit man die Wahl anhand der eigentlichen Framework-Fähigkeiten hat.

Deswegen bemängelt blackbird ja auch, das Karrigell kein WSGI kann - es hat nämlich das Potenzial zu mehr Nutzern zu kommen als bisher.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Bin gerade (wieder!) auf web.py gestossen. Weis gar nicht mehr was mir daran nicht gefallen hat. Werde es mir auf jeden Fall noch einmal genauer ansehen.

# Ich sollte meine Erfahrungen wohl echt niederschreiben.
Antworten