Umsteiger von PHP auf Python: Generelle Frage zu Web

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
debian75
User
Beiträge: 90
Registriert: Dienstag 27. November 2007, 01:05

Hallo erstmal :)

ich habe bisher nur mit php gerbeitet und möchte nun gerne auf python umsteigen. ich habe schon ne menge gefunden hier und auch auf google aber ich schnall irgendwie die basis nicht.

Wichtig: Ich interessiere mich lediglich für Web Anwendungen !


Beispiel: Eine kleine Homepage mit Gästebuch.

In PHP hätte ich dann ein php Dateien und würde ein bisschen Parameter herumschieben und SQL Statements ausführen.

Frage1: Ist das bei einem Python Web Projekt gleich ? Hat man da ein index.py und ein paar andee xxx.py etc, die sich gegenseitig aufrufen ? Oder ist mein Ansatz falsch ?

Frage2: Mein Hoster unterstützt nur über CGI. Kann ich die Scripts später einfach für mod_python umbauen ?


Und brauche ich so Zeugs wie Django usw ?
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

puuhh,
auf alles genau einzugehen ist schwierig:
alles ist moeglich!

du kannst natuerlich auf django und andere verzichten und "raw sql" benutzen und die seiten auf unterschiedliche dateien verlagern, die dan mit `print` die webpage rendern.
oder auch eine templating engine benutzen.....
.....oder sich von cherrypy automatisch die urls definieren lassen
......sie in django explizit eintragen
......sich von zope verwoenen lassen...
.....ein HTTP handler schreiben.....
.......

nichts ist umoeglich!
cp != mv
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

debian75 hat geschrieben:In PHP hätte ich dann ein php Dateien und würde ein bisschen Parameter herumschieben und SQL Statements ausführen.
Frage1: Ist das bei einem Python Web Projekt gleich ? Hat man da ein index.py und ein paar andee xxx.py etc, die sich gegenseitig aufrufen ? Oder ist mein Ansatz falsch ?
im prinzip ja, er ist falsch.
Optimalerweise macht man Websachen in python mit WSGI, und da läuft es nicht so, dass Anfragen von aussen direkt auf die .py-dateien des Dateisystems gemapped werden.
Es ist eher so, dass du eine Funktion hast schreibst, die fürs "dispatching" sorgt, je nachdem, welche url sie bekommt.
Bei Django wird das beispielsweise per regulären Ausdrücken gemacht: wenn die URL zum ausdruck passt, wird die zugehörige Funktion aufgerufen.

Das klingt erstmal unnötig kompliziert wenn man PHP gewohnt ist, als einer, der beruflich zu PHP gezwungen ist, kann ich dir aber sagen, dass Python sehr, sehr viel angenehmer ist, wenn man erstmal ein paar PHP-gewohnheiten losgeworden ist.
Frage2: Mein Hoster unterstützt nur über CGI. Kann ich die Scripts später einfach für mod_python umbauen ?
Musst du dank WSGI nichtmal, das ist einer der Vorteile.
Und brauche ich so Zeugs wie Django usw ?
brauchen nicht, aber ich würde dir empfehlen, nicht alles "from scratch" zu machen. Wenn du es ganz low-level willst, nimm "Werkzeug" oder "Colubrid".

Guck mal hier im Forum die "Stickies" unter "Dynamische Webinhalte und Netzwerkprogrammierung", da sind einige gute Links bei.
Generell wäre das auch die richtige Stelle, um weiteres zu fragen.
debian75
User
Beiträge: 90
Registriert: Dienstag 27. November 2007, 01:05

danke euch für die antworten. ich hab mir in der zwischenzeit mal das 20min wiki auf TurboGears angeschaut...ich glaub ich fang mal damit an und seh dann schritt für schritt wiese geht :)

EDIT: wobei ich grad nur django einträge finde im erwähnten forum. naja ma schauen :)
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo debian75!

Ich habe nur einen Tipp für dich. Lerne zuerst Python bevor du damit Websites programmierst. Das kostet dich ein paar Wochen, aber es rentiert sich. Es umgekehrt zu versuchen, ist ein Fehler den schon einige gemacht haben. Und es dauert eine Weile, dieses Manko wieder gut zu machen. Denn mit Python kann man auch schlechte Programme schreiben. Das ist nicht nur PHP vorenthalten.

Und wenn du dann so weit bist, dann kannst du dir ja auch mal das hier durchlesen: http://gelb.bcom.at/trac/misc/wiki/Tuto ... yPyCheetah :mrgreen:

mfg
Gerold
:-)

PS: Verzeih mir bitte meinen Oberlehrerton. ;-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
debian75
User
Beiträge: 90
Registriert: Dienstag 27. November 2007, 01:05

ich fürchte ich mach den fehler auch...aber irgendwie bist du schuld, weil der link den du gepostet hast ist einfach nur geil....

genau sowas hab ich gesucht für den einstieg :)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

keppla hat geschrieben:brauchen nicht, aber ich würde dir empfehlen, nicht alles "from scratch" zu machen. Wenn du es ganz low-level willst, nimm "Werkzeug" oder "Colubrid".
Mit Colubrid sitzt du früher oder später auf dem Trockenen, das ist mehr oder weniger discontinued.

Wenn du auf die Werkzeug-Homepage guckst, siehst du wie ein WSGI-Programm aussieht. Am Anfang schaut das kompliziert aus, aber letztendlich ist so etwas sehr viel flexibler als PHP.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

Was spricht eigentlich dagegen, sich seine ganzen SQL-Queries selbst zusammenzusetzen und zu schreiben? Und sich auch den HTML Code selbst zu printen?

Danke!
BlackJack

Man spart sich eine Menge Arbeit und es funktioniert *richtig*.

Ein ORM hat den Vorteil das man von der konkreten Datenbank und deren SQL-Dialekt unabhängig ist und man hat direkt Objekte mit denen man arbeiten kann.

HTML-Code "printen" klingt extrem nach Vermischung von Programm und Anzeige. Das ist unübersichtlich, schlecht wart- und erweiterbar und man kann auch nicht mit den richtigen Werkzeugen daran gehen. Wenn HTML und Code weitgehend getrennt sind, kann man beides mit den dafür passenden Werkzeugen bearbeiten. Und das HTML lässt sich auch leichter austauschen oder verändern. Ausserdem können Templatesysteme darauf achten, dass egal was man an Werten in das Template hineinsteckt, immer gültiges (X)HTML dabei heraus kommt.
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

SchneiderWeisse hat geschrieben:Was spricht eigentlich dagegen, sich seine ganzen SQL-Queries selbst zusammenzusetzen und zu schreiben? Und sich auch den HTML Code selbst zu printen?
Aufwand und Fehleranfälligkeit.
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

SchneiderWeisse hat geschrieben:Was spricht eigentlich dagegen, sich seine ganzen SQL-Queries selbst zusammenzusetzen und zu schreiben? Und sich auch den HTML Code selbst zu printen?
Um mal zu sehen, was BlackJack & Yogi meinen, guck mal beim Framework deiner Wahl nach "Screencasts". Für mich war das das erste mal ein ziemlicher Kulturschock.
Auch, wenn ich keine all-in-one-Lösung á la Django verwende, möchte ich mein SQL-Alchemy (+Werkzeug, +Mako) nicht mehr missen.
Antworten