Flask ist eigentlich ein schönes Framework. Aber ich vermisse eine Sache, die man von anderen Frameworks wie Django oder CakePHP kennt. Dort kann man mit einem Kommandozeilen Befehl ein neues Projekt erstellen, welches schon rudimentäre Funktionen wie Login/Register und ein einfaches Design bietet.
Ich finde das deshalb praktisch, weil man eine halbwegs brauchbare Testplattform hat und man nicht mit solchen Sachen wie HTML und CSS rumschlagen muss.
Ist etwas ähnliches für Flask geplant?
Was ich bei Flask vermisse
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Von der Philosophie hinter flask ausgehend würde ich mal sagen: Nein!
Allerdings spricht ja nichts dagegen, ein Add-on für flask zu entwickeln, welches so etwas bietet. "django4flask" o.ä.
Wobei das automatische Admin-Interface wohl eines der stärksten Features von django sein dürfte - und das ist leider nicht so einfach nachzubauen...
Wobei so viel scaffolding ja im Moment einfach nicht notwendig ist. Im Grunde genommen würde es sich auf das Erstellen von zwei Verzeichnissen beschränken; will man es ausweiten, so könnte man noch eine app.py und eine "layout.html" erstellen. Aber dabei schränkst Du Dich ja wieder ein bzw. triffst auch nicht für alle Arten von Anwedungen den richtigen Kern.
Allerdings spricht ja nichts dagegen, ein Add-on für flask zu entwickeln, welches so etwas bietet. "django4flask" o.ä.

Wobei so viel scaffolding ja im Moment einfach nicht notwendig ist. Im Grunde genommen würde es sich auf das Erstellen von zwei Verzeichnissen beschränken; will man es ausweiten, so könnte man noch eine app.py und eine "layout.html" erstellen. Aber dabei schränkst Du Dich ja wieder ein bzw. triffst auch nicht für alle Arten von Anwedungen den richtigen Kern.
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
Ok, es muss ja nicht unbedingt ein Script sein und das Admin Interface brauche ich eigentlich gar nicht.
Aber zumindest ein halbwegs ausgearbeitetes Startprojekt wäre hilfreich. Ich meine jetzt nicht die Demos wie den Blog. Da muss man erstmal alles wieder raus fuddeln. Und auch die Dateistruktur darf gerne schon etwas größer ausgelegt sein (siehe Larger Applications)
Halt einfach ein minimales Grundprojekt, mit dem man loslegen kann, ohne sich über jeden Kleinkram Gedanken machen zu müssen.
Aber zumindest ein halbwegs ausgearbeitetes Startprojekt wäre hilfreich. Ich meine jetzt nicht die Demos wie den Blog. Da muss man erstmal alles wieder raus fuddeln. Und auch die Dateistruktur darf gerne schon etwas größer ausgelegt sein (siehe Larger Applications)
Halt einfach ein minimales Grundprojekt, mit dem man loslegen kann, ohne sich über jeden Kleinkram Gedanken machen zu müssen.
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ja und wie soll das gehen? Ich meine Du musst Dich ja dann schon auf Templates und vermutlich ein DB-Backend sowie auf eine Formular-Lib festlegen. Das alles will flask ja nicht.burli hat geschrieben: Halt einfach ein minimales Grundprojekt, mit dem man loslegen kann, ohne sich über jeden Kleinkram Gedanken machen zu müssen.
Aber wenn Du da gewisse Präferenzen hast, dann lege Dir doch so ein Projekt an, kopiere es irgend wo hin und ziehe es bei einem neuen Projekt wieder als Basis heran.
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
@burli: Diese Frage abschließend zu klären, obliegt allein den Entwicklern dieses Rahmenwerks. Kläre diese Frage also bitte mit diesen, beispielsweise auf der Mailing-Liste oder im IRC-Kanal. Schließlich beschäftigt sich dieses Forum mit der Webentwicklung in Python im Allgemeinen, und nicht der Entwicklung der Bibliothek XY im Speziellen.
Darüber gab es schon eine längere Diskussionen auf der Flask Mailingliste, irgendwer hat da sicherlich auch schon eine Lösung für. Eventuell einfach mal auf Github suchen oder durch die Extensions schauen.
Ansonsten würde ich bei solchen Fragen dazu raten in #pocoo reinzuschauen, dort wird alles zu Support und Entwicklung rund um alle Pocoo Projekte besprochen, ist zwar auf Englisch aber in der Regel ist da immer jemand der helfen kann und dort kann man auch Team Mitglieder direkt ansprechen.
Ansonsten würde ich bei solchen Fragen dazu raten in #pocoo reinzuschauen, dort wird alles zu Support und Entwicklung rund um alle Pocoo Projekte besprochen, ist zwar auf Englisch aber in der Regel ist da immer jemand der helfen kann und dort kann man auch Team Mitglieder direkt ansprechen.
Mir ging es einfach nur darum, die Einstiegshürde zu reduzieren. IMHO ist die niedriger, wenn man nicht alles von Grund auf selbst machen muss sondern auf eine minimale Basis zurückgreifen kann.
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Jetzt habe ich Dich wieder verloren... Dir geht es also tatsächlich um die Hürde für Einsteiger bei flask / Webprogrammierung? Ich hatte Dich bisher so verstanden, dass Du eine automatisierte Erstellung der Grundstruktur eines flask-Projektes haben wolltest. Worum solls denn nun gehen?burli hat geschrieben:Mir ging es einfach nur darum, die Einstiegshürde zu reduzieren. IMHO ist die niedriger, wenn man nicht alles von Grund auf selbst machen muss sondern auf eine minimale Basis zurückgreifen kann.
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
Ist das nicht Sinn bei Frameworks wie Django? Es muss ja nicht gleich ein Script sein, das das ganze automatisiert. Ein einfaches Template, das man nehmen und erweitern kann, würde ja schon ausreichen. Einfach etwas, damit man nicht auch noch den ganzen HTML und CSS Kram von Null an selber basteln muss, um auch nur ein einfaches Erfolgserlebnis jenseits von "Hello World" zu habenHyperion hat geschrieben:Jetzt habe ich Dich wieder verloren... Dir geht es also tatsächlich um die Hürde für Einsteiger bei flask / Webprogrammierung? Ich hatte Dich bisher so verstanden, dass Du eine automatisierte Erstellung der Grundstruktur eines flask-Projektes haben wolltest. Worum solls denn nun gehen?
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ich habe da ja zwei unterschiedliche Punkte genannt. Sag doch bitte mal, welchen Du meinstburli hat geschrieben:Ist das nicht Sinn bei Frameworks wie Django? Es muss ja nicht gleich ein Script sein, das das ganze automatisiert. Ein einfaches Template, das man nehmen und erweitern kann, würde ja schon ausreichen. Einfach etwas, damit man nicht auch noch den ganzen HTML und CSS Kram von Null an selber basteln muss, um auch nur ein einfaches Erfolgserlebnis jenseits von "Hello World" zu habenHyperion hat geschrieben:Jetzt habe ich Dich wieder verloren... (1)Dir geht es also tatsächlich um die Hürde für Einsteiger bei flask / Webprogrammierung? (2)Ich hatte Dich bisher so verstanden, dass Du eine automatisierte Erstellung der Grundstruktur eines flask-Projektes haben wolltest. Worum solls denn nun gehen?

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
Tschuldigung. (1)Hyperion hat geschrieben:Ich habe da ja zwei unterschiedliche Punkte genannt. Sag doch bitte mal, welchen Du meinst(1 oder 2)

Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ok. Also da muss ich Dir sagen, dass ich da anders denke! Dazu sind Dokus und Tutorials gut. flask is da imho ein gutes Beispiel. Da es ein Micro-Framework ist, will es ja gerade nicht zu viele Komponenten und Paradigmen vorgeben. es gibt z.B. keine default-Datenbank, keine feste Formular-Lib, usw. Im Gegensatz dazu bieten django und Konsorten eine viel festere Gesamtstruktur. Diese soll jedoch primär nicht dem Einsteiger helfen, sondern durch feste Paradigmen und Komponenten die Entwicklung zu beschleunigen und mit wenig Code auszukommen. Die Django Seite fasst es doch prima zusammen:
Allerdings kann man das auch anders sehen: Manch einer fühlt sich ggf. ein wenig erschlagen von django und dem gesamten scaffolding Resultaten. Da ist flask eben durchaus übersichtlicher.
Mir ist auch immer noch nicht klar, wie Du bei flask in einem Scaffolding Prozess Sachen wie CSS oder fertige Template Dateien erzeugen willst. Das passiert afaik bei django doch auch "nur" für den Admin-Teil - und den hat flask ja eben nicht.
Dass es damit dem Einsteiger auf gewisse Art und Weise leichter gemacht wird, schnell zu etwas lauffähigen und nützlichen zu kommen, ist dabei imho ein Nebeneffekt.Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Allerdings kann man das auch anders sehen: Manch einer fühlt sich ggf. ein wenig erschlagen von django und dem gesamten scaffolding Resultaten. Da ist flask eben durchaus übersichtlicher.
Mir ist auch immer noch nicht klar, wie Du bei flask in einem Scaffolding Prozess Sachen wie CSS oder fertige Template Dateien erzeugen willst. Das passiert afaik bei django doch auch "nur" für den Admin-Teil - und den hat flask ja eben nicht.
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
- noisefloor
- User
- Beiträge: 4149
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
ich nutze zwar kein Flask sondern Bottle, wo die Situation ja ähnlich ist.
Ich eigentlich auch sehr glücklich damit, dass man direkt (von Null) anfangen kann, ohne erst mal eine Umgebung erzeugen zu müssen mit X Verzeichnissen und Y Dateien.
So kann man nämlich direkt loslegen und kleine Anwendungen z.B. monolithisch bauen, also ohne MVC.Konzept. Ich kann eine DB meiner Wahl nehmen (z.B. CouchDB), mit meiner eigenen Struktur usw.
Ansonsten: Hyperions letzter Post +1
Gruß, noisefloor
ich nutze zwar kein Flask sondern Bottle, wo die Situation ja ähnlich ist.
Ich eigentlich auch sehr glücklich damit, dass man direkt (von Null) anfangen kann, ohne erst mal eine Umgebung erzeugen zu müssen mit X Verzeichnissen und Y Dateien.
So kann man nämlich direkt loslegen und kleine Anwendungen z.B. monolithisch bauen, also ohne MVC.Konzept. Ich kann eine DB meiner Wahl nehmen (z.B. CouchDB), mit meiner eigenen Struktur usw.
Ansonsten: Hyperions letzter Post +1

Gruß, noisefloor
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Wovon denn? Geh doch bitte mal auf mein Posting ein; allg. zum angenommenen Idiom und dann speziell zum letzten Absatz!burli hat geschrieben:Von MÜSSEN ist doch gar nicht die Rede.
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
mal als einfaches Beispiel. (will die url nicht öffentlich posten)
dev (punkt) embedit (punkt) de/test
Auf das Kontaktformular würde ich sogar verzichten
dev (punkt) embedit (punkt) de/test
Auf das Kontaktformular würde ich sogar verzichten
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
- noisefloor
- User
- Beiträge: 4149
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
sagen wir mal so: So was per Skript für Flask & Co zu generieren geht sicherlich.
Aber ob so was an Bord sein muss... Mit dem Layout ist man ja schon ziemlich festgelegt, der Umbau per CSS ist wahrscheinlich ein größere Akt.
Wie gesagt, ich vermisse so was nicht, kann aber durchaus nachvollziehen, wenn jemand an so was Interesse hat.
Gruß, noisefloor
sagen wir mal so: So was per Skript für Flask & Co zu generieren geht sicherlich.
Aber ob so was an Bord sein muss... Mit dem Layout ist man ja schon ziemlich festgelegt, der Umbau per CSS ist wahrscheinlich ein größere Akt.
Wie gesagt, ich vermisse so was nicht, kann aber durchaus nachvollziehen, wenn jemand an so was Interesse hat.

Gruß, noisefloor
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ich sehe da die Erleichterung nicht wirklich!
So ein login geht eh nicht bzw. bringt nichts, weil die DB-Anbindung fehlt. Insofern wäre der zugehörige "Controller" ziemlich nutzlos.
Und der Rest sind eigentlich doch nur statische Seiten (den Sinn des Kontaktformulars sehe ich da auch nicht). Diese erleichtern einem doch nichts!
Wie noisefloor schon sagte, kannst Du so etwas in der Art ja durchaus als eine Art Flask Extension bauen. Nur denke ich persönlich nicht, dass das einem Anfänger den Einstieg erleichtert. Du musst Dich so oder so in die gewünschteb Komponenten einarbeiten (DB-Api (SQLAlchemy / elixir oder eben etwas in Richtung CouchDB), Formularmodul, Template-Engine, die Flask (bzw. Werkzeug) Routing-Mechanismen, uvm.) Was bringen einem da vier statische Webseiten mit eingebundenem CSS? Den Mehrwert müßtest Du mir / uns doch noch mal genauer erläutern. (Und dabei würde ich mir wünschen, dass Du auf die bereits mehrfach genannten Punkte eingehst
)
So ein login geht eh nicht bzw. bringt nichts, weil die DB-Anbindung fehlt. Insofern wäre der zugehörige "Controller" ziemlich nutzlos.
Und der Rest sind eigentlich doch nur statische Seiten (den Sinn des Kontaktformulars sehe ich da auch nicht). Diese erleichtern einem doch nichts!
Wie noisefloor schon sagte, kannst Du so etwas in der Art ja durchaus als eine Art Flask Extension bauen. Nur denke ich persönlich nicht, dass das einem Anfänger den Einstieg erleichtert. Du musst Dich so oder so in die gewünschteb Komponenten einarbeiten (DB-Api (SQLAlchemy / elixir oder eben etwas in Richtung CouchDB), Formularmodul, Template-Engine, die Flask (bzw. Werkzeug) Routing-Mechanismen, uvm.) Was bringen einem da vier statische Webseiten mit eingebundenem CSS? Den Mehrwert müßtest Du mir / uns doch noch mal genauer erläutern. (Und dabei würde ich mir wünschen, dass Du auf die bereits mehrfach genannten Punkte eingehst

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
Ohne direkt mit mitsuhiko gesprochen zu haben halte ich es für ausgeschlossen dass so etwas je Teil von Flask wird. Die Formulare und die About Seite schiessen über das Ziel einen möglichst kleinsten gemeinsamen Nenner zu finden weit hinaus. Man kann sowas allerdings immernoch problemlos selbst entwickeln.