Hey Community,
ich habe mir lange ein Tutorial Buch gelesen zu Python 2.x und wollte gern anfangen ein Projekt zu machen, um einfach ein wenig zu üben.
Daher ist meine Frage was für mein Projekt am besten ist.
Denn ich habe mir gedacht das ich mir einen eigene Webseite baue, mit einen Blog bereich, einen Video/Podcast bereich und geg. ein Paar Downloads halt das alles was einen Webseite so zu bieten hat.
Nur ist jetzt meine Frage was für ein Web-Framework ich dafür gut nutzen kann.
Also wenn man sich nach Python Informiert findet sich schnell Django aber habe auch bottle gefunden was zwar sehr klein ist aber grund Funktionen bietet.
Würde mich freuen wenn mir da jemand helfen kann, auch wo und wann welches Framework angebracht ist.
Hoffe ich habe meine Frage halbwegs gut gestellt.
mfg Manchotix
Framework für eigene Blog !
Benutz Django. Bottle ist fein (und Flask und wie sie alle heissen) aber mehr was fuer Leute die wissen, was sie tun. Anfaenger fahren besser mit Django, da kannst du ein Blog zB einfach einbinden.
- noisefloor
- User
- Beiträge: 4179
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
Antwort: kommt drauf an
Django ist halt eine All-in-One Lösung, welche dir auch direkt ein ORM, Templates, Form-Framework usw. anbietet, außerdem gibt es für Django haufenweise Erweiterungen.
Bottle (oder auch Flask) sind kleinere Frameworks, welche die schnell und einfach das Routing und Request / Response Handling zur Verfügung stellen. Den "Rest" kannst du dann nach eigenem Bedarf ergänzen. Bottle hat mit SimpleTemplate zusätzlich noch eine kleine aber feine Template-Engine.
Ich selber nutzte z.B. Bottle in Kombination mit WTForms und SQLAlchemy.
Gruß, noisefloor
Antwort: kommt drauf an

Django ist halt eine All-in-One Lösung, welche dir auch direkt ein ORM, Templates, Form-Framework usw. anbietet, außerdem gibt es für Django haufenweise Erweiterungen.
Bottle (oder auch Flask) sind kleinere Frameworks, welche die schnell und einfach das Routing und Request / Response Handling zur Verfügung stellen. Den "Rest" kannst du dann nach eigenem Bedarf ergänzen. Bottle hat mit SimpleTemplate zusätzlich noch eine kleine aber feine Template-Engine.
Ich selber nutzte z.B. Bottle in Kombination mit WTForms und SQLAlchemy.
Gruß, noisefloor
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Vor-/Nachteile von minimales-/Batteries Included-Frameworks:
http://wiki.python.de/Web-Frameworks#We ... w-r_wen.3F
http://wiki.python.de/Web-Frameworks#We ... w-r_wen.3F
Ok danke für die schnelle Antwort,
Ich denke ich werde mich mit Bottle beschäftigen weil ich auch dadurch mehr aus eigener Feder schreiben muss und so kann ich meine Fertigkeiten besser stärken.
danke nochmal
mfg Manchotix
Ich denke ich werde mich mit Bottle beschäftigen weil ich auch dadurch mehr aus eigener Feder schreiben muss und so kann ich meine Fertigkeiten besser stärken.
danke nochmal

mfg Manchotix
- Über Fehler sollte man sich freuen als über das richtige Ergebnis denn wir Menschen können nur aus den Fehlern lernen-
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Ich halte das auch für einen Fehler. Meine Empfehlung wäre Django. Man hat immer noch sehr viel zu tun, auch wenn Django alles bietet, was man als Basis braucht.
Der Vorteil: Erstmal braucht man nur Django und hat nur eine Dokumentation zu lesen.
Der Vorteil: Erstmal braucht man nur Django und hat nur eine Dokumentation zu lesen.
- noisefloor
- User
- Beiträge: 4179
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
BTW: Der Grund, warum ich Bottle + ... verwende ist _nicht_, weil ich Django schlecht finde, sondern weil die Anforderungen und Wünsche mit der Zeit gewachsen sind. Zuerst hatte ich auch "nur" Bottle + HTML-Templates + eine simple DB-Anbindung. WTForms und SQLAlchemy sind erst später dazu gekommen. Und da war die Applikation schon so weit, dass ich nicht mehr auf Django portieren wollte.
Wenn also von vorneherein klar gewesen wäre, wäre ich heute vielleicht auch bei Django
Gruß, noisefloor
Hm... Bibliotheken & Frameworks sind dazu da, um genutzt zu werden. Das Rand neu erfinden ist eigentlich nie Sinn der Sache. Abgsehen davon: Wenn du Django nimmst verbesserst du auch deine Fähigkeiten - und Code musst du mit Django auch schreiben. Es ist ja schließlich kein Click & Go System.Manchotix hat geschrieben:Ich denke ich werde mich mit Bottle beschäftigen weil ich auch dadurch mehr aus eigener Feder schreiben muss und so kann ich meine Fertigkeiten besser stärken.
BTW: Der Grund, warum ich Bottle + ... verwende ist _nicht_, weil ich Django schlecht finde, sondern weil die Anforderungen und Wünsche mit der Zeit gewachsen sind. Zuerst hatte ich auch "nur" Bottle + HTML-Templates + eine simple DB-Anbindung. WTForms und SQLAlchemy sind erst später dazu gekommen. Und da war die Applikation schon so weit, dass ich nicht mehr auf Django portieren wollte.
Wenn also von vorneherein klar gewesen wäre, wäre ich heute vielleicht auch bei Django

Gruß, noisefloor
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Warum dann überhaupt ein Framework? Dann kannst du auch gleich Werkzeug oder direkt WSGI nutzen. Hoffentlich sagen dir die Begriffe SQL-Injection, CSRF, XSS, signed Cookies etc. irgendwas, weil sonst ist deine Webapp angreifbar.Manchotix hat geschrieben:Ich denke ich werde mich mit Bottle beschäftigen weil ich auch dadurch mehr aus eigener Feder schreiben muss und so kann ich meine Fertigkeiten besser stärken.
Mit anderen Worten: Nutze erstmal Django. Lerne wozu die jeweiligen Komponenten sind. Danach kannst du noch schauen, ob du es normal alles neu erfinden willst.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Und das ist das Problem. Am Anfang denkt man immer, was kleines reicht. Später will man aber noch dieses und jenes, also dann eine Lösung für X, später was für Y dazu nehmen... und schon hat man alles zusammen, was Django von vornherein bietet...noisefloor hat geschrieben:BTW: Der Grund, warum ich Bottle + ... verwende ist _nicht_, weil ich Django schlecht finde, sondern weil die Anforderungen und Wünsche mit der Zeit gewachsen sind. Zuerst hatte ich auch "nur" Bottle + HTML-Templates + eine simple DB-Anbindung. WTForms und SQLAlchemy sind erst später dazu gekommen. Und da war die Applikation schon so weit, dass ich nicht mehr auf Django portieren wollte.
Wenn also von vorneherein klar gewesen wäre, wäre ich heute vielleicht auch bei Django
So erging es mir auch: http://www.pylucid.org/permalink/30/ent ... #Die-Story
Ich nutze Flask und mir war von vornherein klar, dass ich auch ein ORM (SqlAlchemy), WTForms brauche/will und mit Flask hat man sowieso noch die Abhängigkeiten von Jinja2 und Werkzeug. Allerdings hat mir einfach die Kombination von den verschiedenen Librarys mehr zugesagt als Django, mir sagt z.B. SqlAlchemy mehr zu als das ORM von Django. Dass man mit Flask große Applikationen schreiben kann beweist MoinMoin. Ich finde man sollte das nehmen, was einem persönlich mehr zusagt.
the more they change the more they stay the same
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ja, aber als Anfänger kannst Du ja nicht alles überblicken! Als Erstklässler musst Du Dich auch noch nicht auf Deine Leistungskurse festlegenDav1d hat geschrieben:Ich finde man sollte das nehmen, was einem persönlich mehr zusagt.

Ich denke Flask oder Bottle sind für simple, ggf. nur lokale Einstiegs- / Testprojekte gut geeignet. Damit hat man einen schnellen Einstieg in grundlegenden Abläufe und Technologien der Webentwicklung unter Python. Vorteil ist imho, dass man nicht so viel Scaffolding und Boilerplate zu Beginn hat, eine "Flask" "Hello World"-App ist doch schnell erstellt. Ein wenig Rumspielen mit Parametern, Routing und Templating geht dann auch noch locker. Aber wenn es dann "ernst" werden soll, würde ich auch zunächst auf Django setzen.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ok und stopp! Ist jedem Einsteiger klar dass er ein ORM will? Wenn man von PHP kommt, dann kanns auch sein dass man denkt das SQL verketten das ist was man haben will, oder wenn man von Desktopapps kommt dass man da einfach Daten in Dateien abspeichert. Der große Vorteil von Django ist ja, dass es in die State-of-te-Art-Webprogrammierung (zumindest unter Python) einführt. Da wird dem Anfänger gar nicht so viel Möglichkeiten gelassen verloren zu gehen. Als Anfänger kann das ganze Webprogrammierungsding ja durchaus ein ziemliches Monster sein, mit Sachen wie HTTP, Cookies, HTML, CSS (Sass/LESS), JavaScript (CoffeeScript), SQL, ORMs, SQL-Injections, XSS, CSRF, Sessions, Browserkompatibilität, da ist es meiner Meinung nach gut wenn man am Anfang an die Hand genommen wird und gesagt wird "du machst das jetzt so", so dass man sich nicht in Tausend Nischen verzettelt wärend man mit Werkzeug, Glasshammer, Cheetah irgendwas zusammenschustert wo man der einzige User weltweit ist.Dav1d hat geschrieben:Ich nutze Flask und mir war von vornherein klar, dass ich auch ein ORM (SqlAlchemy), WTForms brauche/will
Natürlich, wenn man da nen Überblick hat, dann spricht nichts dagegen und ist sicherlich auch gut zu schauen was man für Anforderungen hat und wie man diese am besten abdeckt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- noisefloor
- User
- Beiträge: 4179
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
was ich vergaß zu sagen: "meine" Applikation laufen in einem _Intra_net mit sehr überschaubarer und persönlich bekannter Benutzergruppe. Von daher brauchte ich mir über SQL-Injection, CSRF, XSS usw. wenig Gedanken machen.
Wenn eine Web-Applikation öffentlich ist, ist es, wie Leonidas schon sagte, natürlich sehr angenehm, wenn das Framework da bereits Mittel und Wege implementiert hat, da sowas unterbinden.
Gruß, noisefloor
was ich vergaß zu sagen: "meine" Applikation laufen in einem _Intra_net mit sehr überschaubarer und persönlich bekannter Benutzergruppe. Von daher brauchte ich mir über SQL-Injection, CSRF, XSS usw. wenig Gedanken machen.
Wenn eine Web-Applikation öffentlich ist, ist es, wie Leonidas schon sagte, natürlich sehr angenehm, wenn das Framework da bereits Mittel und Wege implementiert hat, da sowas unterbinden.
Gruß, noisefloor
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Bis halt die Firewall spinnt und euer Intranet zum Extranet wird. Generell ist so eine Aussage gefährlich. Ursprünglich wurde das Internet auch nur für bekannte Benutzergruppen gedacht, und daher haben wir auch so "tolle" Protokolle wie SMTP ("let's just forward any spam from anybody"), FTP ("unencrypted auth? awesome!"), DNS ("well, how about I serve you my own set of IPs instead of your bank's?"), IRC ("auth? we can do that with a bot!"), telnet ("encrypting is just a waste of time") etc. etc. Generell sollte man immer Sicherheit im Kopf haben, weil ein unsicheres System sicher zu machen ist schwer bis unmöglich ohne viel zu verändern.noisefloor hat geschrieben:was ich vergaß zu sagen: "meine" Applikation laufen in einem _Intra_net mit sehr überschaubarer und persönlich bekannter Benutzergruppe. Von daher brauchte ich mir über SQL-Injection, CSRF, XSS usw. wenig Gedanken machen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- noisefloor
- User
- Beiträge: 4179
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,

Gruß, noisefloor
Das ist dann aber nicht mehr mein Problem, sondern das der Admins - zu denen gehöre ich nicht.Leonidas hat geschrieben:Bis halt die Firewall spinnt und euer Intranet zum Extranet wird.

Natürlich. Es ist auch nicht so, dass ich den schlampigsten Code on Earth geschrieben habe. Aber, zugegebener Maßen, habe ich bestimmte Angriffszenarien marginaler betrachtet, als wenn es eine öffentlich zugängliche Applikation gewesen wäre.Leonidas hat geschrieben:Generell sollte man immer Sicherheit im Kopf haben, weil ein unsicheres System sicher zu machen ist schwer bis unmöglich ohne viel zu verändern.
Gruß, noisefloor