Migration
Das hat mit Flask aber immernoch nichts zu tun.meego hat geschrieben:Dass die Migrationsscripts von Alembic denen von Django massiv unterlegen sind, hat mir damals sogar die Flask-Community mitgeteilt.
the more they change the more they stay the same
- noisefloor
- User
- Beiträge: 4150
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
Flask-Migrate ist eine Extension für Flask, das gehört nicht zu Flask an sich.
Ansonsten ist die Ausgangsfrage ja wohl eher eine für die Entwickler der "betroffenen" Pakete. Du hast dein Wahl des Software-Stacks getroffen. Wenn du damit unglücklich bist, gibt's zwei Möglichkeiten:
1. lernen, damit zu leben
2. den Software-Stack wechseln (es ist ja nicht so, dass die Django früher nicht mehrfach empfohlen worden wäre...).
Gruß, noisefloor
Flask-Migrate ist eine Extension für Flask, das gehört nicht zu Flask an sich.
Ansonsten ist die Ausgangsfrage ja wohl eher eine für die Entwickler der "betroffenen" Pakete. Du hast dein Wahl des Software-Stacks getroffen. Wenn du damit unglücklich bist, gibt's zwei Möglichkeiten:
1. lernen, damit zu leben
2. den Software-Stack wechseln (es ist ja nicht so, dass die Django früher nicht mehrfach empfohlen worden wäre...).
Gruß, noisefloor
@meego: Was soll so eine Umfrage denn bringen? Was man wofür einsetzt, hängt letztendlich ja auch von dem zu lösenden Problem und der Erfahrung ab, die man mit dem jeweiligen Rahmenwerk bereits hat. Die Lernkurve von Bottle oder Flask unterscheidet sich von der von Django letztlich ja auch nur wenn man ein Projekt hat, das Djangos Umfang nicht benötigt. Wenn man alles, oder das meiste, an Funktionalität benötigt, was Django bietet, dann muss man ja auch bei den Mikrorahmenwerken entsprechende Bibliotheken einbinden die man (kennen)lernen muss.
@meego: Welche Syntax? Die Syntax wird von Python vorgegeben und ist bei Django und bei Flask gleich. Falls Du die bei Templates meinst, da hast Du bei Flask doch die Wahl. Und sollte die auf Jinja2 fallen, dann ist die der Syntax der Django-Templates doch *sehr* ähnlich.
Naja, Wahl.. ich meine aber nicht die Templates: Es ist einfach alles näher an den bekannten Kontrollstrukturen von Python orientiert und hat weniger Schmuck und Frameworkspezifisches oder auch fremdes Beigemüse wie Regex für einfache Routen.
@meego: Eine eigene Syntax für Routen ist also kein ”fremdes Beigemüse”, und reguläre Ausdrücke, die auch schon in der Standardbibliothek enthalten sind, und in 1000 anderen Sprachen und Programmen, sind Dir zu frameworkspezifisch? Äh…
@meego: Nein, natürlich stehst Du damit nicht alleine weil Flask diese Eigenheiten mit denen Du Dich hermumschlagen musst nicht hat, weil es die ganze Funktionalität nicht hat. Das heisst Du erfindest das Rad neu, wahrscheinlich weniger rund, oder benutzt zusätzliche Bibliotheken und bastelst das dann alles irgendie zusammen. Mit dem Endergebnis das Du am Ende die gleiche Komplexität hast wie bei Django, oder vielleicht noch etwas mehr weil es nicht aus einem Guss ist, und dass es nicht so gut aufeinander abgestimmt läuft. Irgendwer beschwerte sich ja beispielsweise das die Migration bei Django besser ist. Wer war das denn noch gleich… 
Bottle und Flask verstecken die regulären Ausdrücke hinter einer eigenen Syntax für Routen. Wenn Du Die lieber magst, dann schau Dir das einfach ab wie die aus den Zeichenketten einen regulären Ausdruck basteln und verwende dann eine solche Funktion in Django.
Edit: Vielleicht sollte ich noch hinzufügen das ich kein ”Django-Fanboy” bin. Das meiste was ich an Webanwendungen schreibe basiert auf Bottle.

Bottle und Flask verstecken die regulären Ausdrücke hinter einer eigenen Syntax für Routen. Wenn Du Die lieber magst, dann schau Dir das einfach ab wie die aus den Zeichenketten einen regulären Ausdruck basteln und verwende dann eine solche Funktion in Django.
Edit: Vielleicht sollte ich noch hinzufügen das ich kein ”Django-Fanboy” bin. Das meiste was ich an Webanwendungen schreibe basiert auf Bottle.
Das lässt sich leider nur sehr eingeschränkt machen. Flask, oder vielmehr Werkzeug, kompiliert nicht nur zu regulären Ausdrücken sondern verpasst Routen noch eine Art Typsystem und sortiert Routen danach wie spezifisch sie sind. Dazu kommen noch Factories und Templates. Außerdem kann man auf Subdomains und Hostnames in nicht trivialen Wegen matchen.BlackJack hat geschrieben:Bottle und Flask verstecken die regulären Ausdrücke hinter einer eigenen Syntax für Routen. Wenn Du Die lieber magst, dann schau Dir das einfach ab wie die aus den Zeichenketten einen regulären Ausdruck basteln und verwende dann eine solche Funktion in Django.
Man hat also nicht nur einen Compiler sondern es gibt auch eine große Runtime Komponente. Die notwendigen Änderungen die man an Django machen müsste um ähnliches zu erreichen sind nicht praktikabel.
@DasIch: Die Anfänger die Flask einfach finden, sagen das ja meisten nach dem Hello World-Beispiel und wenn sie Routendekoratoren mit Platzhaltern für Argumente sehen. *Der* ”Zucker” liesse sich schon auf Django's Routing streuen.
- noisefloor
- User
- Beiträge: 4150
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
also ich hatte meine Webapplikationen früher auf Bottle + SQLAlchemy + WTForms. Jetzt nutze ich Django - außer für einfacher Sachen, wo ich wirklich nur die Route brauche, dann nehme ich nach wie vor Bottle.
Im Einstieg ist Django _scheinbar_ schwerer, weil man sich direkt mit Routing + ORM + Forms + Templates rumschlagen muss. Aber nach der ersten eigenen App muss ich sagen: das ist alles sehr einfach zu durchschauen. Das ORM von Django finde ich persönlicher einfacher als SQLAlchemy, das Forms-Framework von Django finde ich einfacher als WTForms. Aber das IMHO beste an Django ist, dass alles so schön "vezahnt" ist und ineinander greift. Was vieles einfacher macht.
Gruß, noisefloor
also ich hatte meine Webapplikationen früher auf Bottle + SQLAlchemy + WTForms. Jetzt nutze ich Django - außer für einfacher Sachen, wo ich wirklich nur die Route brauche, dann nehme ich nach wie vor Bottle.
Im Einstieg ist Django _scheinbar_ schwerer, weil man sich direkt mit Routing + ORM + Forms + Templates rumschlagen muss. Aber nach der ersten eigenen App muss ich sagen: das ist alles sehr einfach zu durchschauen. Das ORM von Django finde ich persönlicher einfacher als SQLAlchemy, das Forms-Framework von Django finde ich einfacher als WTForms. Aber das IMHO beste an Django ist, dass alles so schön "vezahnt" ist und ineinander greift. Was vieles einfacher macht.
Gruß, noisefloor
Naja, vielleicht sollte ich Django noch einmal eine Chance geben. Immerhin wäre der Einstieg nun vielleicht einfacher.
Wo ist eigentlich der Unterschied zwischen Bottle und Flask? Die sehen ja ziemlich ähnlich aus, ausser das Bottle überhaupt keine Community hat.
Wo ist eigentlich der Unterschied zwischen Bottle und Flask? Die sehen ja ziemlich ähnlich aus, ausser das Bottle überhaupt keine Community hat.