Seite 1 von 1
Lernwechsel von Flask zu Django
Verfasst: Freitag 8. April 2022, 11:35
von Karlirex
Hallo Freunde der Webprogrammierung,
ich habe bisher ein zwei kleine Projekte mit Flask umgesetzt und dabei entweder SQLite oder MySQL verwendet. Dabei habe ich mir meine Strukturen für "klassisches" Flask erbaut. .env-file für die Configdaten, direkte Config.py, Routes.py von Models.py getrennt, die passenden Routen erstellt, @login_required decorator davor und und und.
Da ich bei meinem neuen Projektvorhaben noch etwas mehr auf den Punkt Sicherheit und Komplexizität setzen muss ("Größenbedingt und Datenbedingt") habe ich mich zu dem Thema etwas umlesen und stoße auf einige Baustellen, was so Dinge wie Admin-Zugang, Mail-Versand etc angeht und erhalte immer die Meldung, das Django dies schon OOTB "kann".
Ich bin aber wenig vertraut mit Django und sehe mich schon dem ein oder anderen Problem, wenn ich mir die grundlegende Projektstruktur anschaue.
Daher die Frage, ist ein Wechsel "überhaupt" so sinnvoll und was sind die besten Wege einen solchen Wechsel anzugehen? Wieder die Grundlagen-Tutorials und Google?
Falls ja, wird wohl immer so bleiben in der Entwicklung "haha".
Vielleicht gibt es ja den ein oder anderen, der so einen Wechsel schonmal gemacht hat und weiß, welche "Probleme" man vermeiden könnte.
Mit besten Grüßen
Karlirex
Re: Lernwechsel von Flask zu Django
Verfasst: Freitag 8. April 2022, 16:49
von noisefloor
Hallo,
ich habe vor vielen Jahren den Wechsel von Bottle + SQLAlchemy + Wtforms auf Django gewechselt. Wobei meine Projekte mit Bottle eher simple waren und Bottle IMHO auch nochmal eine Stufe einfacher ist als Flask. Und Flask zumindest heutzutage ja sehr weit erweiterbar ist.
Nach meinem Verständnis lässt die Flask auch ziemlich stark mit externen Modulen zu Django-ähnlicher Funktionalität erweitern, was zu Problemen bei der Gesamtintegration führen kann (aber nicht muss). Django hat halt viele "batteries included".
Ob der Wechsel für die jetzt sinnvoll ist oder nicht können wir wohl letztendlich nicht beurteilen.
Zum Lernen gibt es zwei sehr empfehlenswerte Tutorials: einmal das offizielle Django Tutorial auf der Django Webseite und das "Django for Girls" Tutorial. Des Weiteren ist die sonstige Doku von Django auch sehr umfangreich, da findet man eigentlich auch ziemlich viel.
Gruß, noisefloor
Re: Lernwechsel von Flask zu Django
Verfasst: Freitag 8. April 2022, 16:56
von Karlirex
noisefloor hat geschrieben: Freitag 8. April 2022, 16:49
Hallo,
ich habe vor vielen Jahren den Wechsel von Bottle + SQLAlchemy + Wtforms auf Django gewechselt. Wobei meine Projekte mit Bottle eher simple waren und Bottle IMHO auch nochmal eine Stufe einfacher ist als Flask. Und Flask zumindest heutzutage ja sehr weit erweiterbar ist.
Nach meinem Verständnis lässt die Flask auch ziemlich stark mit externen Modulen zu Django-ähnlicher Funktionalität erweitern, was zu Problemen bei der Gesamtintegration führen kann (aber nicht muss). Django hat halt viele "batteries included".
Ob der Wechsel für die jetzt sinnvoll ist oder nicht können wir wohl letztendlich nicht beurteilen.
Zum Lernen gibt es zwei sehr empfehlenswerte Tutorials: einmal das offizielle Django Tutorial auf der Django Webseite und das "Django for Girls" Tutorial. Des Weiteren ist die sonstige Doku von Django auch sehr umfangreich, da findet man eigentlich auch ziemlich viel.
Gruß, noisefloor
Danke dir

ich schaue es mir mal an. Und bin gespannt, wie ich mich dabei so schlagen werde. Fand so manche Dinge, wie z.B. das "migrate", welches von Flask eher unbekannt ist schon "irritierend"

und naja ich seh mal weiter, es soll ja eben sehr gut skalierbar sein etc, was sicherlich deutliche Vorteile mit sich bringt.
Re: Lernwechsel von Flask zu Django
Verfasst: Samstag 9. April 2022, 10:54
von kbr
@Karlirex: Flask hat kein "migrate", da dies Datenbank-bezogen ist und bei Django zu dem integrierten ORM gehört. Bei Flask würde dafür in Verbindung mit SQLAlchemy z.B. Alembic verwendet werden. Also auch hier ein externes Tool.
Re: Lernwechsel von Flask zu Django
Verfasst: Mittwoch 13. April 2022, 19:24
von naheliegend
Meiner Meinung nach ist Corey Schafer's Django-Tutorial-Reihe auf YouTube unfassbar gut für den Einstieg:
https://www.youtube.com/watch?v=UmljXZI ... Nfx2UY6U4p
Zum python manage.py migrate:
https://docs.djangoproject.com/en/4.0/t ... igrations/
Django lernen ist halt nicht nur Django, sondern auch Konzepte des Web Developments verstehen.
Viel Erfolg
Re: Lernwechsel von Flask zu Django
Verfasst: Donnerstag 14. April 2022, 12:16
von Karlirex
@naheliegend danke dir.
Ich hab Flask beispielsweise auch mit dem Corey-Schafer begonnen zu lernen

Re: Lernwechsel von Flask zu Django
Verfasst: Mittwoch 20. April 2022, 12:53
von Karlirex
Seh ich das Richtig, dass ich für quasi alles über die Forms, zu den Models zur View gehen muss? Also mir HTML seitig nicht wirklich groß eine solche Form verändern kann und auch nicht Daten per JS erstellt in diese Formen eintragen kann?
Klingt für mihc anch aktueller Rechere etwas starr.
(Ich versuche per Button die Aktuelle Browserzeit in der Datenbank zu speichern..und scheitere bisher entweder an der richtigen Übergabe (None) oder an der Automatischen Eintragung der Zeit in das "Form"-Feld, da ich eigentlich nur einen <p>-Tag brauche der von JS aktualisiert wird...
Re: Lernwechsel von Flask zu Django
Verfasst: Mittwoch 20. April 2022, 13:23
von sparrow
Du musst gar nichts.
Forms sind eine Möglichkeit schnell Formulare zu generieren, und die sind schon bis zu einem bestimmten Punkt individualsierbar - zum Beispiel indem man eigene Widgets schreibt oder bestehende anpasst.
Aberd du kannst natürlich auch das Frontend komplett ohne Forms bauen. Es ist ein Hilfsmittel - kein Muss.
Re: Lernwechsel von Flask zu Django
Verfasst: Mittwoch 20. April 2022, 13:23
von kbr
Django macht es dir einfach, Standard-Aufgaben zu erledigen. Du bist aber nicht daran gebunden und kannst alles, was sich per Request an den Server senden lässt, dort auf die von dir gewünschte Weise verarbeiten. Auch der Response muss nicht notwendigerweise eine gerenderte html-Seite sein.
Re: Lernwechsel von Flask zu Django
Verfasst: Donnerstag 21. April 2022, 00:56
von noisefloor
Hallo,
Seh ich das Richtig, dass ich für quasi alles über die Forms, zu den Models zur View gehen muss?
Nee. Wenn ein Request des Browsers kommt, geht der immer an ein View. Ein Funktion an eine URL binden ist ja die Grundidee hinter WSGI, dem De-Facto Standard für Python Webanwendungen / -frameworks. Was der View dann mit den Daten im Request macht liegt bei dir, also was du programmierst.
Was du clientseitig mit JS machst ist Django egal - Django läuft serverseitig. Ob der Request vom Drücken eines `submit` Buttons kommt oder von der Webseite asynchron im Hintergrund mittels AJAX oder fetch-API oder ... ist Django gleich.
Gruß, noisefloor