Was ich bei Flask vermisse

Django, Flask, Bottle, WSGI, CGI…
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

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?
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
Benutzeravatar
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.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

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.
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

burli hat geschrieben: Halt einfach ein minimales Grundprojekt, mit dem man loslegen kann, ohne sich über jeden Kleinkram Gedanken machen zu müssen.
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.

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
lunar

@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.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

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.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

...soll aber jetzt nicht heißen, das solche Diskussionen hier unerwünscht wären! Evtl. nicht ganz ziel-führend, weil nicht die richtigen Entwickler mitlesen, aber zumindest ich lese es gern ;)

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

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:
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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.
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?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Hyperion 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?
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 haben
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

burli hat geschrieben:
Hyperion 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?
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 haben
Ich habe da ja zwei unterschiedliche Punkte genannt. Sag doch bitte mal, welchen Du meinst ;-) (1 oder 2)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Hyperion hat geschrieben:Ich habe da ja zwei unterschiedliche Punkte genannt. Sag doch bitte mal, welchen Du meinst ;-) (1 oder 2)
Tschuldigung. (1) :)
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
Benutzeravatar
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:
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
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.

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
Benutzeravatar
noisefloor
User
Beiträge: 3882
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
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Von MÜSSEN ist doch gar nicht die Rede.
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

burli hat geschrieben:Von MÜSSEN ist doch gar nicht die Rede.
Wovon denn? Geh doch bitte mal auf mein Posting ein; allg. zum angenommenen Idiom und dann speziell zum letzten Absatz!
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

mal als einfaches Beispiel. (will die url nicht öffentlich posten)

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:
Benutzeravatar
noisefloor
User
Beiträge: 3882
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
Benutzeravatar
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 ;-) )
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

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.
Antworten