Code: Alles auswählen
import web
class HelloWorld(web.Page):
def create(self):
self.add(web.Label("message", "Hello World"))
html = """<span web:id="message">Message goes here</span>"""
web.start(HelloWorld)
Das Rahmenwerk hat ~200 Zeilen. Die eine Hälfte ist ein Template-Parser, die andere Hälfe definiert web.Page und web.Label und ein paar andere Komponenten.
An diesem Beispiel arbeite ich gerade:
Code: Alles auswählen
import web
class Echo(web.Page):
def create(self):
self.message = "[type your message here]"
message_model = web.PropertyModel(self, 'message')
self.add(web.Label("message", message_model))
self.add(web.Form("form").add(web.TextField("input", message_model)))
html = """
<form web:id="form">
<input type="text" web:id="input"/>
<input type="submit" value="Set"/>
</form>
<span web:id="message">Message goes here<span>
"""
web.start(Echo)
Den Code habe ich 1:1 von Wicket-Beispielen abgeschaut. In diesem dritten Beispiel sieht man, dass die inneren Klassen, die bei Wicket allgegenwärtig sind, in Python nicht so elegant wirken.
Ist der Ansatz interessant genug, um ihn weiter zu verfolgen?
Stefan
(*) Ich könnte es dadurch unter Python 3.0 laufen lassen, auch wenn's ich gerade mit Python 2.6 entwickelt habe und nicht auf 3.0 spezifisches geachtet habe.