Seite 1 von 1

Python Web-Programming

Verfasst: Sonntag 11. April 2010, 21:42
von Kev087
Wie kann man mit Python Webseiten programmieren? Gibt es da tutorials? Und wenn ja, wo kann ich sie ansehen?

Verfasst: Sonntag 11. April 2010, 21:44
von Leonidas
Ja, man nimmt meistens ein Webframework (schau an, wir haben sogar ein eigenes Unterforum dafür...), allerdings gibt es auch in der offiziellen Python Dokumentation ein HOWTO über Python im Web.

Verfasst: Mittwoch 14. April 2010, 09:37
von sma
Django wäre eine Alternative, die sich durch sehr gute Dokumentation auszeichnet.

Stefan

Verfasst: Mittwoch 14. April 2010, 14:08
von gerold
Hallo!

Und das Erstellen einer Website mit CherryPy ist super einfach.

mfg
Gerold
:-)

Verfasst: Mittwoch 14. April 2010, 17:33
von DasIch
Flask ist als Microframework sehr interessant. Wenn ein Projekt größer wird kannst du Flask als Schicht weg lassen und direkt Werkzeug und Jinja2 nutzen.

Verfasst: Mittwoch 14. April 2010, 20:09
von ms4py
DasIch hat geschrieben:Flask ist als Microframework sehr interessant. Wenn ein Projekt größer wird kannst du Flask als Schicht weg lassen und direkt Werkzeug und Jinja2 nutzen.
Allerdings noch im Alpha-Stadium. Für Production-Applikationen also noch nicht geeignet. Trotzdem interessante Entwicklung.

Verfasst: Mittwoch 14. April 2010, 21:25
von DasIch
Wie kommst du auf Alpha Stadium? Das 0.1 Release ist noch nicht draussen aber die Veränderungen der letzten paar Tage beschränken sich fast ausschliesslich auf Verbesserungen der Dokumentation.

Verfasst: Donnerstag 15. April 2010, 08:11
von jens

Verfasst: Donnerstag 15. April 2010, 08:28
von snafu
Flask scheint ja größtenteils ganz ähnlich wie Bottle aufgebaut zu sein. Die Syntax für's Routing finde ich hier sogar etwas besser:

Code: Alles auswählen

@app.route('/user/<username>')
def show_user_profile(username):
    # show the user profile for that user
    pass

@app.route('/post/<int:post_id>')
def show_post(post_id):
    # show the post with the given id, the id is an integer
    pass
Wenn ich das richtig sehe, kann hier ebenfalls mit mehreren Apps umgegangen werden.

...Und wieder einmal zeigt sich, dass Dekoratoren offenbar sehr hohen Zuspruch bei den Frameworks finden. :)

Verfasst: Donnerstag 15. April 2010, 08:43
von Defnull
Komisch das das jetzt schon das dritte mal an verschiedener Stelle erwähnt wird, aber wie kann flask besser mit mehreren apps umgehen als bottle? Ich sehe keinen Unterschied. Da muss die Bottle-Doku (oder mein Verständnis von flask) ein eindeutiges Defizit haben.

Code: Alles auswählen

import bottle
app = bottle.Bottle()
@app.route('/user/:username')
def show_user_profile(username):
    # show the user profile for that user
    pass

@app.route('/post/:post_id#[0-9]+#')
@bottle.validate(post_id=int)
def show_post(post_id):
    # show the post with the given id, the id is an integer
    pass

Verfasst: Donnerstag 15. April 2010, 09:00
von ms4py
DasIch hat geschrieben:Wie kommst du auf Alpha Stadium? Das 0.1 Release ist noch nicht draussen aber die Veränderungen der letzten paar Tage beschränken sich fast ausschliesslich auf Verbesserungen der Dokumentation.
Ich zitiere mal aus der README:
~ Is it ready?

Nope, this is still work in progress, but I am happy to
accept patches and improvements already.

Verfasst: Donnerstag 15. April 2010, 09:23
von snafu
Von "besser" oder "schlechter" sagte ich ja nichts. Man muss in der Bottle-Doku aber schon sehr genau lesen, um den Abschnitt für mehrere Apps nicht zu übersehen, während es bei Flask sofort auf den ersten Blick auffällt. Bottle arbeitet also standardmäßig mit einer globalen App und Flack fordert grundsätzlich die Instanzierung. Möge jeder für sich entscheiden, was er besser findet. Was ich mir auch gut vorstellen könnte (sofern es das nicht schon gibt und ich es nur übersehen habe), wäre:

Code: Alles auswählen

app = bottle.Bottle()
[...]
app.run()

Verfasst: Donnerstag 15. April 2010, 10:29
von lunar
DasIch hat geschrieben:Wie kommst du auf Alpha Stadium? Das 0.1 Release ist noch nicht draussen
Uh? Vielleicht eben deswegen, weil es noch kein einziges Release gibt?