Suche den richtigen Einstieg.

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.
SpellBinder
User
Beiträge: 11
Registriert: Donnerstag 23. Oktober 2008, 17:53

Freitag 24. Oktober 2008, 16:31

Hallo an Alle!
Vor einigen Wochen habe ich angefangen meine erste Webseite zu erstellen.
Ich fing mit ASP.Net an.
Habe dieses Unterfangen aber schnell eingestellt.
Die Frage war nun wie sonst?
Ich bin also mal einige WebHoster durch gegangen und stellte fest das Perl, PHP und Python ganz gut vertreten sind.
Nur was nehme ich nun?
Da ich schon einige Erfahrung mit Perl hatte und Python mir nicht viel sagte versuchte ich PHP.

Die Aufgabe war in folgende Punkte gegliedert:
-staische Seiten(html, css)
-Registrierung
-Login
-E-Mail
-Benutzerverwaltung
-mySQL Anbindung

Das ganze habe ich mittels Eclipse und XAMPP aufgebaut.

Da ich dies nun in PHP gelöst habe möchte ich dies aber auch noch in Perl und Python realisieren um die für mich angenehmste Sprache zu finden.

Nun begann ich also mich mit Python zu beschäftigen.
Als erstes stieß ich auf die IDE Wing101 und auf mod_python.
Habe mir alles notwendige runter geladen und installiert.
-Python 2.5
-Mod_Python 3.3.1
-wingide101

Nun ja, leider ist es mir noch nicht gelungen dies auf dem Apache zu laufen zu bekommen.
War aber auch erst mal nicht so wichtig um einen ersten Eindruck zu bekommen.

Ich habe mich dann durch das WIKI und einigen der Postings gelesen. Dannach habe ich mich durch das TUT für Programierer gewurschtelt.
Und mir gefällt Python sehr gut!!!
Die Artikel zu den Frameworks haben mich mehr verwirrt als das sie geholfen haben.

Nun möchte ich meine Aufgabe in Python realisieren.
Dazu benötige ich aber ein laufähiges System das im Apache(lokal) läuft.

Also hier nun meine Fragen:
Was soll ich nehmen?
Also welche Kombination aus IDE und Framework ist für Einsteiger am besten?
Wo bekomme ich es her?

Ich weis das das immer wieder gefragt wird.
Nur die Antworten in den Threads helfen mir nicht richtig weiter da sie sehr schnell abdriften und keine kongreten Hinweise enthalten.

Mein Ziel ist es Python besser kenne zu lernen und die oben benannte Aufgabe zu lösen.
Ich möchte mich im Moment nur so wenig wie möglich und so weit wie nötig mit Ini's, Conf's und konsorten rum schlagen.

Kennt Jemand von euch einen einfachen Einstieg um die Aufgabe zu lösen?
Es soll alles lokal auf meinem Rechner laufen, das ist wichtig!
Und ne Anleitung in deutsch fände ich klasse! :wink:

Bin für jeden Link der mich schlauer macht dankbar!

Achso, ich arbeite unter Windows XP.
Gruß Robert
BlackJack

Freitag 24. Oktober 2008, 19:53

@SpellBinder: IDE-Empfehlung würde ich keine geben. Such Dir 'ne IDE oder einen Editor, der Dir am besten gefällt.

Von `mod_python` würde ich abraten. Schau Dir lieber Werkzeug, CherryPy, Django oder TurboGears an. Das erste ist das Minimale (oberhalb von "das Primitive" a.k.a. CGI ;-)), CherryPy ist schon etwas mehr Rahmenwerk, und Django und TurboGears bieten noch mehr "vorgefertigt". Kommt halt drauf an, wie flexibel Du sein möchtest. Zum Beispiel was Vorlagen und ORM angeht.

Bei Werkzeug weiss ich das jetzt nicht so genau, aber alle anderen Genannten bringen auch einen eigenen Webserver mit, mit dem man das ganze Testen kann ohne den Apachen konfigurieren zu müssen.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Freitag 24. Oktober 2008, 20:11

BlackJack hat geschrieben:Bei Werkzeug weiss ich das jetzt nicht so genau, aber alle anderen Genannten bringen auch einen eigenen Webserver mit
Ja, Werkzeug bietet auch einen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
lunar

Freitag 24. Oktober 2008, 22:42

Pylons fehlt imho noch in der Liste der Frameworks
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Freitag 24. Oktober 2008, 23:47

Wenn man schon nach der Meinung/den Vorlieben gefragt wird:
GNOME + Geany + Django.

Ahoi!
Benutzeravatar
snafu
User
Beiträge: 5459
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Samstag 25. Oktober 2008, 01:50

Er fragte wohl eher nach Empfehlungen, die er unter Windows XP benutzen kann...
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Samstag 25. Oktober 2008, 08:55

SpellBinder, wenn dir Eclipse gefallen hat, dann könntest du es zusammen mit pydev auch für Python benutzen. Wenn dir prinzipiell diese IDEs gefallen, könntest du auch Netbeans ausprobieren, für das es mit Version 6.5 nicht nur den üblichen Java-Support gibt sondern auch der für PHP und Ruby sehr gut sein soll. An einem Python-Support wird noch gearbeitet. Tagesaktuelle Builds findet man hier. Noch ist pydev wohl stabiler, aber das Feature-Set von nbpython klingt vielversprechend.

Zu deiner Aufgabe: Benutzerverwaltung & login, mysql-Anbindung und das Verschicken von E-Mails fällt bei Django alles aus der Tüte. Für eine Registrierung mit Bestätigungs-E-Mail gibt es eine fertige App.

Um eine Django-Anwendung bei einem shared-Hosting-Anbieter dann betreiben zu können, muss dieser allerdings mod_python, mod_wsgi oder FCGI unterstützen. Mit CGI allein wirst du nicht glücklich werden. Das gilt aber eigentlich für alle erwähnten Python-Lösungen.

Stefan
SpellBinder
User
Beiträge: 11
Registriert: Donnerstag 23. Oktober 2008, 17:53

Samstag 25. Oktober 2008, 08:55

BlackJack hat geschrieben:@SpellBinder: IDE-Empfehlung würde ich keine geben. Such Dir 'ne IDE oder einen Editor, der Dir am besten gefällt.

Von `mod_python` würde ich abraten. Schau Dir lieber Werkzeug, CherryPy, Django oder TurboGears an. Das erste ist das Minimale (oberhalb von "das Primitive" a.k.a. CGI ;-)), CherryPy ist schon etwas mehr Rahmenwerk, und Django und TurboGears bieten noch mehr "vorgefertigt". Kommt halt drauf an, wie flexibel Du sein möchtest. Zum Beispiel was Vorlagen und ORM angeht.
Erst mal danke für deinen Beitrag!

Das mit der IDE währe aber schon wichtig.
Es gibt zu viele um alles zu testen.
Wing ist schon nicht schelcht, ich vermisse halt bei allem was ich bis jetzt gesehen habe ne Intellisense.
Gibt es so was überhaupt?

Habe nun mal mit Django angefangen.
Läuft bis jetzt ganz gut.
Wobei das im Moment nur das durch arbeiten der Instalationsanleitung ist und ich noch keine Zeile Code geschrieben habe.

Kannst du mir sagen was ORM ist?
Gruß Robert
SpellBinder
User
Beiträge: 11
Registriert: Donnerstag 23. Oktober 2008, 17:53

Samstag 25. Oktober 2008, 08:57

Leonidas hat geschrieben:
BlackJack hat geschrieben:Bei Werkzeug weiss ich das jetzt nicht so genau, aber alle anderen Genannten bringen auch einen eigenen Webserver mit
Ja, Werkzeug bietet auch einen.
HI Leonidas!
Wie soll ich das nun verstehen???
Gruß Robert
SpellBinder
User
Beiträge: 11
Registriert: Donnerstag 23. Oktober 2008, 17:53

Samstag 25. Oktober 2008, 09:11

sma hat geschrieben:SpellBinder, wenn dir Eclipse gefallen hat, dann könntest du es zusammen mit pydev auch für Python benutzen. Wenn dir prinzipiell diese IDEs gefallen, könntest du auch Netbeans ausprobieren, für das es mit Version 6.5 nicht nur den üblichen Java-Support gibt sondern auch der für PHP und Ruby sehr gut sein soll. An einem Python-Support wird noch gearbeitet. Tagesaktuelle Builds findet man hier. Noch ist pydev wohl stabiler, aber das Feature-Set von nbpython klingt vielversprechend.

Zu deiner Aufgabe: Benutzerverwaltung & login, mysql-Anbindung und das Verschicken von E-Mails fällt bei Django alles aus der Tüte. Für eine Registrierung mit Bestätigungs-E-Mail gibt es eine fertige App.

Um eine Django-Anwendung bei einem shared-Hosting-Anbieter dann betreiben zu können, muss dieser allerdings mod_python, mod_wsgi oder FCGI unterstützen. Mit CGI allein wirst du nicht glücklich werden. Das gilt aber eigentlich für alle erwähnten Python-Lösungen.

Stefan
Hi sma!
Na mit Eclipse bin ich nicht wicklich glücklich.
Hat halt den Vorteil das es alles mögliche intgriert.
Und da liegt auch das Problem.
Mit einer StandAlone Lösung, wenn sie denn gut ist, könnte ich mich mehr anfreunden.

Habe mit Django angefangen.
Mir ist auf gefallen das hier ja schon die Hälfte der SQL Arbeit erledigt wird.
Und so wie ich dich verstehe ist für meine Aufgabenstellung schon alles vorbereitet.
Ich hoff nur das ich das ganze auch noch an meine Bedürfnisse anpassen kann!??
Aber so weit bin ich noch nicht, schaun wir mal.

Der letzte Punkt stimmt mich nachdenklich.
Wenn ich nun was mit Django mache kann ich das nicht bei jeden WebHoster, der Python untestützt, laufen lassen?
Wie schreibe ich dann ne Anwendung die lauffähig ist?
Unabhängig von den FrameWorks.
Wozu sind die dann da wenn sie nicht die Intefaces bereitstellen?
Na ja, dazu habe ich noch zu wenig Ahnung. :wink:
Gruß Robert
BlackJack

Samstag 25. Oktober 2008, 09:15

@snafu: VMWare & Co existieren. ;-)

@SpellBinder: "IntelliSense" ist bei dynamischen Sprachen nur bedingt möglich. Man weiss im "schlechtesten" Fall erst was ein Objekt für Attribute hat, wenn der Code ausgeführt wird. Das gilt halt auch für Module. Da kann man nicht statisch reinschauen und 100% alle Attribute finden, bzw. kann es auch sein, das man "false positives" findet, also Attribute, die es zur Laufzeit dann nicht gibt.

Nicht wenige Python-Programmierer verwenden "einfache" Texteditoren statt einer IDE. Ich komme zum Beispiel mit Syntaxhighlighting und einer simplen Autovervollständigung zurecht, die einfach den Text in der aktuellen Datei als Grundlage nimmt. Dazu dann noch eine IPython-Shell zum ausprobieren von Code und inspizieren von Objekten. Wenn's ganz hart kommt, WinPdb als Debugger mit GUI. Das aber äusserst selten. Normalerweise reichen ein paar eingestreute ``print``-Anweisungen und Tests in der IPython-Shell.

ORM = Object Relational Mapper, also eine Bibliothek die Objekte auf relationale Datenbanken abbildet. Django bringt auch ein ORM mit.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 25. Oktober 2008, 10:12

SpellBinder hat geschrieben:Kannst du mir sagen was ORM ist?
Du hättest auch direkt in die Wikipedia gucken können: ORM.
SpellBinder hat geschrieben:
Leonidas hat geschrieben:
BlackJack hat geschrieben:Bei Werkzeug weiss ich das jetzt nicht so genau, aber alle anderen Genannten bringen auch einen eigenen Webserver mit
Ja, Werkzeug bietet auch einen.
HI Leonidas!
Wie soll ich das nun verstehen???
Das Werkzeug, genauso wie alle anderen erwähnten Frameworks/Libs auch einen eigenen Webserver mitbringt, der während der Entwicklung von Seiten hilfreich ist.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
SpellBinder
User
Beiträge: 11
Registriert: Donnerstag 23. Oktober 2008, 17:53

Samstag 25. Oktober 2008, 10:31

BlackJack hat geschrieben: @SpellBinder: "IntelliSense" ist bei dynamischen Sprachen nur bedingt möglich. Man weiss im "schlechtesten" Fall erst was ein Objekt für Attribute hat, wenn der Code ausgeführt wird. Das gilt halt auch für Module. Da kann man nicht statisch reinschauen und 100% alle Attribute finden, bzw. kann es auch sein, das man "false positives" findet, also Attribute, die es zur Laufzeit dann nicht gibt.

Nicht wenige Python-Programmierer verwenden "einfache" Texteditoren statt einer IDE. Ich komme zum Beispiel mit Syntaxhighlighting und einer simplen Autovervollständigung zurecht, die einfach den Text in der aktuellen Datei als Grundlage nimmt. Dazu dann noch eine IPython-Shell zum ausprobieren von Code und inspizieren von Objekten. Wenn's ganz hart kommt, WinPdb als Debugger mit GUI. Das aber äusserst selten. Normalerweise reichen ein paar eingestreute ``print``-Anweisungen und Tests in der IPython-Shell.

ORM = Object Relational Mapper, also eine Bibliothek die Objekte auf relationale Datenbanken abbildet. Django bringt auch ein ORM mit.
OK, ist klar das dies nicht gut klappen kann.

Da werde ich mich wohl dran gewöhnen müssen.
Bin halt ein wenig verwöhnt, nutze beruflich VS.

Danke für die Erklärung!
Gruß Robert
SpellBinder
User
Beiträge: 11
Registriert: Donnerstag 23. Oktober 2008, 17:53

Samstag 25. Oktober 2008, 10:34

Leonidas hat geschrieben:
SpellBinder hat geschrieben:Kannst du mir sagen was ORM ist?
Du hättest auch direkt in die Wikipedia gucken können: ORM.
SpellBinder hat geschrieben:
Leonidas hat geschrieben:
BlackJack hat geschrieben:Bei Werkzeug weiss ich das jetzt nicht so genau, aber alle anderen Genannten bringen auch einen eigenen Webserver mit
Ja, Werkzeug bietet auch einen.
HI Leonidas!
Wie soll ich das nun verstehen???
Das Werkzeug, genauso wie alle anderen erwähnten Frameworks/Libs auch einen eigenen Webserver mitbringt, der während der Entwicklung von Seiten hilfreich ist.
Sorry das ich nicht gleich alles im WIKI nach schlage.
Gelobe Besserung!

Ist alles ziemlich viel Input im moment.

Das mit dem WebServer ist nun auch klar!

Danke für deine Hilfe!
Gruß Robert
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 25. Oktober 2008, 10:35

SpellBinder hat geschrieben:Da werde ich mich wohl dran gewöhnen müssen.
Bin halt ein wenig verwöhnt, nutze beruflich VS.
In .NET sind die APIs aber auch üblicherweise komplizierter, mit tiefen Verschachtelungen etc. Sowas ist in Python eher seltener (python-openid, I'm looking at you).
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten