Hallo erstmal, ich bin jens. Ich lerne seit ein paar Wochen Python und möchte eine Webseite damit erstellen. Ich habe mich ein wenig umgesehen und am besten gefällt mir Flask. Ich habe auch schon ein wenig herum experimentiert. Wo ich allerdings Probleme habe ist die erstellung einer vernünftigen Grundstruktur, also "was kommt am besten wohin".
Ich meine jetzt keine vorgefertigte Demo App, die man einfach nur umstricken muss. Die hab ich selber schon gemacht. Ich meine damit vor allem die Verzeichnis Grundstruktur. Welche Information legt man in welche Datei? Wie legt man die Konfiguration richtig an? Wie macht man am besten die MVC Aufteilung mit den Blueprints? Macht man das überhaupt?
Ich hab einfach das Gefühl, früher oder später in eine Sackgasse zu rennen und will vorbeugen. Einfach ein "Best Practice" für den grundlegenden Aufbau. Ich weiß, dass voel davon schon in der Doku beschrieben ist, ich bekomme es aber nicht sinnvoll zusammen in ein Projekt
"Best Practice" mit Flask
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Hallo und Willkommen im Forum,
leider kann ich zu Deinem ersten Post nur sagen: Und nun? :K
Du schreibst, dass Du wohl die Doku kennst, diese Infos aber nicht sinnvoll zusammen bringen kannst. Also fehlt Dir wohl Verständnis. Hier bleibt aber die Frage: wie sollen wir Dir dabei helfen? Ohne *konkrete* Fragen, z.B. zu einem Projekt von Dir, kann man da wenig zu sagen.
Sofern Du selber noch nichts angelegt hast und ergo keine konkrete Frage stellen kannst, so schlage ich drei Sachen vor:
1.) Leg erst einmal los und schau, ob Du irgend wann an eine Grenze stößt. Wenn das passiert, *verstehst* Du ja, was schief gelaufen ist und versuchst dann noch mal mittels der Doku zu kapieren, wie Armins Gedankengänge zur Gliederung von Projekten zu verstehen sind.
2.) Du schaust Dir mal Projekte auf `flask`-Basis an und versuchst nachzuvollziehen, wie diese ihre Gliederung umgesetzt haben
3.) evtl. schaust Du Dir doch noch mal Django für den Anfang an - das macht einem mehr Vorgaben, insbesondere zur Strukturierung, was für Dich ggf. leichter umzusetzen ist.
leider kann ich zu Deinem ersten Post nur sagen: Und nun? :K
Du schreibst, dass Du wohl die Doku kennst, diese Infos aber nicht sinnvoll zusammen bringen kannst. Also fehlt Dir wohl Verständnis. Hier bleibt aber die Frage: wie sollen wir Dir dabei helfen? Ohne *konkrete* Fragen, z.B. zu einem Projekt von Dir, kann man da wenig zu sagen.
Sofern Du selber noch nichts angelegt hast und ergo keine konkrete Frage stellen kannst, so schlage ich drei Sachen vor:
1.) Leg erst einmal los und schau, ob Du irgend wann an eine Grenze stößt. Wenn das passiert, *verstehst* Du ja, was schief gelaufen ist und versuchst dann noch mal mittels der Doku zu kapieren, wie Armins Gedankengänge zur Gliederung von Projekten zu verstehen sind.
2.) Du schaust Dir mal Projekte auf `flask`-Basis an und versuchst nachzuvollziehen, wie diese ihre Gliederung umgesetzt haben
3.) evtl. schaust Du Dir doch noch mal Django für den Anfang an - das macht einem mehr Vorgaben, insbesondere zur Strukturierung, was für Dich ggf. leichter umzusetzen ist.
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
Das flaskr Tutorial in der Flask Dokumentation entspricht den "best practices", bei allem was darüber hinaus geht bist du recht flexibel, was schliesslich auch der Vorteil gegenüber Frameworks wie Django ist. Wenn du mehr wissen willst musst du, wie Hypersion schon gesagt hat, konkreter werden.
MVC ist als Pattern für Webanwendungen übrigens nur begrenzt zu empfehlen, üblicherweise verwendet man einen Model-View-Template (MVT) Ansatz, da unterscheidet sich Flask von Django nicht sonderlich.
MVC ist als Pattern für Webanwendungen übrigens nur begrenzt zu empfehlen, üblicherweise verwendet man einen Model-View-Template (MVT) Ansatz, da unterscheidet sich Flask von Django nicht sonderlich.
>Du schreibst, dass Du wohl die Doku kennst, diese Infos aber nicht sinnvoll zusammen bringen kannst. Also fehlt Dir
>wohl Verständnis. Hier bleibt aber die Frage: wie sollen wir Dir dabei helfen? Ohne *konkrete* Fragen, z.B. zu einem
>Projekt von Dir, kann man da wenig zu sagen.
ich weiß, ist eine schwammig gestellte Frage. Wie gesagt lerne ich erst seit ein paar Wochen Python.
>2.) Du schaust Dir mal Projekte auf `flask`-Basis an und versuchst nachzuvollziehen, wie diese ihre Gliederung umgesetzt haben
Bis auf flaskr hab ich leider noch nicht wirklich was gefunden.
>3.) evtl. schaust Du Dir doch noch mal Django für den Anfang an - das macht einem mehr Vorgaben, insbesondere zur
>Strukturierung, was für Dich ggf. leichter umzusetzen ist.
Ich habe mir Django schon angeschaut. Mir sind die Unterschiede schon klar. Ich habe mich ja bewusst für Flask entschieden. Ich will ja wie gesagt gar keine "klick klick fertig" Software wie Django. Ich will jetzt auch gar nicht wissen, wie man mit Flask Datenbanken verwendet usw.
Es geht nur um den Grundaufbau, vor allem der Verzeichnisstruktur, im Allgemeinen. Ich würde zum Beispiel mit einem "root" Verzeichnis anfangen. Darin befindet sich die runserver.py für Testzwecke, die wsgi Datei für den Server, ein Verzeichnis mit der eigentlichen Anwendung, eins für Unittests und eins für Doku.
Das würde ich jetzt gerne noch verfeinern. Zum Beispiel, wie man da jetzt Blueprints verwendet (also wofür man Blueprints genau einsetzt und ob man für jedes ein Unterverzeichnis anlegt oder nur jeweils eine Datei) usw
Ich weiß, dass man das relativ flexibel behandeln kann, aber es sollte doch sowas wie ein "Best Practice" für den Durchschnitt geben, an dem man sich mal orientieren kann
>wohl Verständnis. Hier bleibt aber die Frage: wie sollen wir Dir dabei helfen? Ohne *konkrete* Fragen, z.B. zu einem
>Projekt von Dir, kann man da wenig zu sagen.
ich weiß, ist eine schwammig gestellte Frage. Wie gesagt lerne ich erst seit ein paar Wochen Python.
>2.) Du schaust Dir mal Projekte auf `flask`-Basis an und versuchst nachzuvollziehen, wie diese ihre Gliederung umgesetzt haben
Bis auf flaskr hab ich leider noch nicht wirklich was gefunden.
>3.) evtl. schaust Du Dir doch noch mal Django für den Anfang an - das macht einem mehr Vorgaben, insbesondere zur
>Strukturierung, was für Dich ggf. leichter umzusetzen ist.
Ich habe mir Django schon angeschaut. Mir sind die Unterschiede schon klar. Ich habe mich ja bewusst für Flask entschieden. Ich will ja wie gesagt gar keine "klick klick fertig" Software wie Django. Ich will jetzt auch gar nicht wissen, wie man mit Flask Datenbanken verwendet usw.
Es geht nur um den Grundaufbau, vor allem der Verzeichnisstruktur, im Allgemeinen. Ich würde zum Beispiel mit einem "root" Verzeichnis anfangen. Darin befindet sich die runserver.py für Testzwecke, die wsgi Datei für den Server, ein Verzeichnis mit der eigentlichen Anwendung, eins für Unittests und eins für Doku.
Code: Alles auswählen
root
|- runserver.py
|- app.wsgi
|- /app
| |- __init__.py
|- /unittest
Ich weiß, dass man das relativ flexibel behandeln kann, aber es sollte doch sowas wie ein "Best Practice" für den Durchschnitt geben, an dem man sich mal orientieren kann
MoinMoin 2.0 wäre ein Beispiel für ein recht großes Flask Projekt.
Aufschlussreich, dankeDasIch hat geschrieben:MoinMoin 2.0 wäre ein Beispiel für ein recht großes Flask Projekt.