Welches Framework

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
burli
User
Beiträge: 1116
Registriert: Dienstag 9. März 2004, 18:22

Montag 20. April 2009, 13:13

Hi,
nach langem hin und her habe ich mich jetzt doch entschlossen, einen eigenen virtualhost zu bestellen, damit ich mein Projekt in Python programmieren kann.

Das ganze soll ein Online Shop werden. Allerdings fehlt mir der Überblick über die ganzen Frameworks. Ich möchte das ganze von Anfang an richtig angehen.

Welches Framework ist empfehlenswert? Es sollte vor allem einfach und flexibel sein. Django habe ich mir mal angeschaut, bin aber nicht so ganz damit zurecht gekommen. Ideal wäre eine ausführliche deutsche Dokumentation.

Und was verwendet man am besten, um Python auszuführen? WSGI?

EDIT: bin gerade über einen älteren Beitrag gestolpert. Vielleicht hilft der weiter
EyDu
User
Beiträge: 4871
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Montag 20. April 2009, 13:51

Vielleicht solltest du die Frameworks mal lokal ausprobieren und nicht gleich Geld ausgaben.
Das Leben ist wie ein Tennisball.
burli
User
Beiträge: 1116
Registriert: Dienstag 9. März 2004, 18:22

Montag 20. April 2009, 14:16

Das ich das erst lokal ausprobieren versteht sich von selbst. Aber ich will nicht wochenlang sinnlos in der Gegend stochern weil ich nicht weiß, wonach ich suchen soll.

Ich habe jetzt nochmal etwas weiter gegraben. Django habe ich mir wie gesagt schonmal angeschaut und war weniger begeistert. Jetzt habe ich mir TurboGears mal näher angeschaut. Da gefällt mit das Grundkonzept, vohanderen Ressourcen zu bündeln, wesentlich besser. Hat da jemand schonmal TurboGears 2.0 angetestet?

Eine andere Möglichkeit wäre natürlich, das man sich selbst die einzelnen Komponenten rauspickt (zb Werkzeug, SqlAlchemy usw), aber ich weiß nicht, wie schwierig es ist, das zu einem vernünftigen Zusammenspiel zu überreden.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Montag 20. April 2009, 15:11

burli hat geschrieben:Eine andere Möglichkeit wäre natürlich, das man sich selbst die einzelnen Komponenten rauspickt
Hallo burli!

Meine nächsten zwei Projekte sind ein Webshop für Ressourcen (nicht für Waren) und eine spezielle Web-Umfrage und Biopsie-Verwaltung. Und für beide Projekte werde ich folgende Technologien einsetzen:

- Debian
- Apache
- mod_wsgi
- CherryPy
- Cheetah
- Elixir (indirekt SQLAlchemy)
- PostgreSQL

Apache 2 läuft auf einem aktuellen Debian. Mehr muss man hier wohl nicht erklären. :-)

CherryPy nimmt einem die lästige Arbeit ab, die Browser-Anfragen in einfach verwendbare Objekte umzuwandeln. Und um die Session-Verwaltung kümmert es sich auch. Die Verbindung zwischen dem Apachen und CherryPy stellt mod_wsgi her.

Cheetah dient als pythonnahe Vorlagensprache, über deren Vererbung auch die verschiedenen Sprachversionen und die Anpassbarkeit für Kunden gewährleistet wird.

Als Datenbankbackend dient PostgreSQL -- einfach aus Überzeugung. Die Datenbank wird von mir selbst designed und mit datenbankeigenen Mitteln (Integritäten, Triggern, Funktionen,...) so gut es geht, gegen Falscheingaben abgesichert.

Um mir ein wenig Programmierarbeit abzunehmen, bin ich gerade dabei, mich mit "Elixir" anzufreunden. Elixir baut auf SQLAlchemy auf, welches mir aber (direkt verwendet) ein wenig zu umständlich ist. Elixir bietet die Möglichkeit, auf mehrere Arten auf die Tabellen zuzugreifen und das Tabellendesign lässt sich auch einfacher als direkt mit SQLAlchemy eingeben. Der Vorteil scheint zu sein, dass man trotz der einfachen Datenmodellierung, alle Möglichkeiten von SQLAlchemy nutzen kann. Ob sich das bewähren wird, weiß ich allerdings noch nicht. Denn eines will ich auf gar keinen Fall -- mit Elixir oder SQLAlchemy die Datenbank designen. Es soll mir nur ein wenig Schreibarbeit abnehmen, beim Zugriff auf die Tabellen.

- http://cherrypy.org/
- http://halvar.at/python/cherrypy_cheetah/
- http://code.google.com/p/modwsgi/wiki/I ... thCherryPy
- http://rtyler.github.com/cheetah/
- http://www.cheetahtemplate.org/
- http://elixir.ematia.de/
- http://www.sqlalchemy.org/

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
burli
User
Beiträge: 1116
Registriert: Dienstag 9. März 2004, 18:22

Montag 20. April 2009, 15:17

Hi Gerold, ist auch eine Möglichkeit. Vielleicht verwende ich das auch und du kannst mir dann bei Problemen weiterhelfen ;)

Noch eine Frage zu den Template Engines: ich möchte eventuell YAML als HTML/CSS Framework verwenden. Es sollte ja kein größeres Problem darstellen, die beiden miteinander zu verbinden. Oder gibt es vielleicht eine Alternative zu YAML?
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Montag 20. April 2009, 16:36

burli hat geschrieben:ich möchte eventuell YAML als HTML/CSS Framework verwenden. Es sollte ja kein größeres Problem darstellen, die beiden miteinander zu verbinden. Oder gibt es vielleicht eine Alternative zu YAML?
Hallo burli!

YAML sieht sehr interessant aus. Ich werde mich in ein paar Wochen näher damit auseinandersetzen.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 20. April 2009, 17:17

burli hat geschrieben:Oder gibt es vielleicht eine Alternative zu YAML?
Je, sogar mehrere.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Mittwoch 22. April 2009, 18:36

burli hat geschrieben:Django habe ich mir wie gesagt schonmal angeschaut und war weniger begeistert.
Ich bin neugierig: Was gefiel dir denn nicht so gut? Was meinst du mit "vorhandene Ressourcen bündeln"?

Stefan
burli
User
Beiträge: 1116
Registriert: Dienstag 9. März 2004, 18:22

Mittwoch 22. April 2009, 19:09

sma hat geschrieben:
burli hat geschrieben:Django habe ich mir wie gesagt schonmal angeschaut und war weniger begeistert.
Ich bin neugierig: Was gefiel dir denn nicht so gut? Was meinst du mit "vorhandene Ressourcen bündeln"?
Naja, ich bin einfach nicht damit zurecht gekommen. Vielleicht deshalb, weil ich damals mit dem Model/View Konzept noch nicht zurecht kam und den Sinn eines solchen im Webdesign nicht gesehen habe.

Mit "vorhandenen Ressourcen" meine ich einfach die bereits existierenden Projekte im Bereich HTML Template usw. Der Vorteil im Gegensatz zu Django ist wohl, das man die einzelnen Komponenten bei Nichtgefallen gegen Alternativen austauschen kann.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mittwoch 22. April 2009, 22:28

Naja, solange es nicht das ORM ist was man austauscht kann man auch in Django einige Sachen ersetzen. Ich nutze andere Templates und ein anderes i18n-System als die die Django mitbringt.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
danims
User
Beiträge: 29
Registriert: Montag 19. Februar 2007, 20:23
Wohnort: Bern, Schweiz

Montag 27. April 2009, 08:49

schon mal http://www.satchmoproject.com/ angeschaut? ist ein shop basierend auf django, aber genutzt hab ich ihn noch nie. vielleicht hilft dir der link trotzdem weiter.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Montag 27. April 2009, 20:22

burli hat geschrieben:Vielleicht deshalb, weil ich damals mit dem Model/View Konzept noch nicht zurecht kam und den Sinn eines solchen im Webdesign nicht gesehen habe.

Ah, Vergangenheitsform. D.h. inzwischen hast du erkannt, dass eine Aufteilung von Modell und Darstellung sowie die Kontrolllogik sinnvoll ist und dann kannst du ja auch jetzt Django und/oder Satchmo als Basis nehmen :)
burli hat geschrieben:Mit "vorhandenen Ressourcen" meine ich einfach die bereits existierenden Projekte im Bereich HTML Template usw. Der Vorteil im Gegensatz zu Django ist wohl, das man die einzelnen Komponenten bei Nichtgefallen gegen Alternativen austauschen kann.
Man kann natürlich, gerade wenn noch nicht so viele eigene Erfahrung vorliegt, auch einfach den Machern des Rahmenwerks vertrauen, dass sie eine gute Vorauswahl getroffen haben... Ich verstehe nicht, warum jeder unbedingt immer alles tauschen und ändern können möchte. In der Praxis braucht man dies eher selten.

Satchmo ist übrigens ein recht komplexes Biest. Ich hatte mir das mal angeschaut, als ich einen kleinen Video-Store prototypisieren wollte, mich dann aber dagegen entschieden, weil Satchmo eher auf den Verkauf von Büchern oder T-Shirts in verschiedenen Farben und Größen und deren Versand spezialisiert ist. Außerdem ist die Liste der Abhängigkeiten lang und so etwas hasse ich bekanntermaßen. Ich will ja nur eine kleine Demo als Frontend für ein Backend, das es eigentlich zu verkaufen gilt. Die Feature-Liste von Satchmo fand ich jedoch beeindruckend umfangreich. Ist bestimmt einen weiteren Blick wert.

Stefan
Antworten