Python Webframework
@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
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
- 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.
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.
@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.
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
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
Wurde zwar schon mal nach gefragt, aber die Antwort fehlt noch.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.
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.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo blackbird!blackbird hat geschrieben:Sondern der Entwickler des Frameworks. Und der Karrigell Entwickler sträubt sich dagegen.
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.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
- veers
- User
- Beiträge: 1219
- Registriert: Mittwoch 28. Februar 2007, 20:01
- Wohnort: Zürich (CH)
- Kontaktdaten:
Nun ist nur die Frage nach der Anzahl Installationen und installierenden Personen.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.
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.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
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.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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- veers
- User
- Beiträge: 1219
- Registriert: Mittwoch 28. Februar 2007, 20:01
- Wohnort: Zürich (CH)
- Kontaktdaten:
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.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.
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
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.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.
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...
- veers
- User
- Beiträge: 1219
- Registriert: Mittwoch 28. Februar 2007, 20:01
- Wohnort: Zürich (CH)
- Kontaktdaten:
Vielleicht nicht so elegant wie Jinjas Lösung aber in eine Datei auslagern und rekursiv Includen?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
Gibts einen Grund wieso du nicht einen eigenen Template Tag schreibst oder den von Greenpeace portierst?
Gruss,
Jonas
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Ja, ich hab es einfach nicht hinbekommenveers hat geschrieben:Gibts einen Grund wieso du nicht einen eigenen Template Tag schreibst oder den von Greenpeace portierst?
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...
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
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: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.
Der Mutually-Referential-Bug. Der ist inzwischen zwar geöst, aber das hat auch schon ziemlich lange gedauert.jens hat geschrieben:Welche Bugs hast du denn im ORM gefunden? Sind die Fehler bekannt?
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.jens hat geschrieben:Was genau findest du an der Template Engine beschränkt?
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
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Zu dem Thema gehts hier weiter: http://www.python-forum.de/topic-10824.htmlLeonidas hat geschrieben:Was ich gebraucht hätte, waren sortierte Felder im Django-ORM
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.
Ist das nicht ein gravierender Vorteil?
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.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.
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.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?
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
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.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.
Deswegen bemängelt blackbird ja auch, das Karrigell kein WSGI kann - es hat nämlich das Potenzial zu mehr Nutzern zu kommen als bisher.
- 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.
# Ich sollte meine Erfahrungen wohl echt niederschreiben.