Hi !
Ich schreibe eine Webapplikation und habe folgendes Problem. Ich möchte das Webinterface einfach nur als GUI betrachten (als wäre es Qt, GTK oder was auch immer). Die eigentliche Applikation soll aber "normal" laufen d.h. sie soll nicht einfach nur auf bestimmte Requests hin eine Webeite generieren, sondern auch den aktuellen Applikationszustand repräsentieren. Natürlich geht das zunächst einmal nur für einen einzigen User - was für mich auch ok ist. Das Problem ist das die meisten Lösungen Python fürs Web zu nutzen die Persistenz gar nicht bieten oder sie zumindest nicht garantieren (oder ich keine Kontrolle darüber habe). Da es nur für einen User ist wäre ein Apache oder Ähnliches sowiso nur Overhead.
Ich dachte also man nimmt sich einen Python internen Webserver (BaseHTTPServer) und deklariert ein Objekt der eigenen Applikation als Membervariable.
Laut allen dokus kann ich aber nichts darüber finden wie man die __init__ von HTTPServer overriden kann. Bin aber auch nicht sicher ob das generell der richtige Ansatz ist.
Hat irgendwer Tips ? Ratschläge ? LEICHTGEWICHTIGE Alternativen ?
Dank!
Persistente Objekte im Webserver
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wenn du annehmen willst dass das Web einen Zustand hat, könntest du dir Continuation-basierte Frameworks ansehen; das bekannteste ist natürlich Smalltalks Seaside und PLT Scheme bietet einen ähnliche Funktionalität aber auch für Python gibt es ein solches Framework namens Nagare. Das benötigt allerdings Stackless Python, was aber kaum ein Problem sein sollte...
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Vielleicht ist http://gist.github.com/106070 interessant. Irgendwo gibt es da auch in diesem Forum eine Diskussion zu. Wir waren am Überlegen, in wie weit man etwas wie das Java-Web-Rahmenwerk Wicket auch in Python sinnvoll nutzen könnte. Mein simpler Ansatz nutzt Pythons eingebauten WSGI-Server und könnte neben der Sessions beliebigen weiteren Zustand halten.
Stefan
Stefan