Python Webprogrammierung Einbindung in HTML?
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
@mcdaniels: Du musst ja aber erst einmal Kenntnisse von allen möglichen Konzepten und Gefahren haben; als Anfänger kann man nicht alles auf einmal lernen. In der freien und "wilden" Mikro-Webframework-Welt musst Du also unmittelbar auch so etwas berücksichtigen, und gucken wie man sich mit gewählten Libs schützt, oder ggf. selber einen Schutz implementiert.
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
Ja genau! Habe oben noch etwas dazu geschrieben (edit) hatte sich überkreuzt.Du musst ja aber erst einmal Kenntnisse von allen möglichen Konzepten und Gefahren haben; als Anfänger kann man nicht alles auf einmal lernen.
Von daher gesehen mach dann Django sicher mehr Sinn!
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Naja, so transparent ist das ja nicht, wenn man die Dokumentation liest, dann steht da ja auch gegen was wie vorgegangen wird.mcdaniels hat geschrieben:Ich werfe hier mal ein: Django bringt diese Absicherungen mit. Als Anfänger bekommt man davon dann allerdings nichts mit. Einerseits gut, dass Django davor schützt, andererseits aber auch wieder nicht, da der Anfänger dann nicht weiß, wie er das abseits von Django zu handhaben hat.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Ich hab jetzt mal die ersten 2 Teile des Tutorial durch. Grundsätzlich verstehe ich es ja. Allerdings wäre ich nicht im Stande mit den erhaltenen Informationen - ohne immer wieder nachzusehen - etwas auf die Beine zu stellen.
Es stellt sich mir die Frage, ob ich nicht doch eher wieder zurück zu Konsolenapps wechseln sollte, bis ich das im Schlaf (und rückwärts) beherrsche... Ich kann mit Modulen, Funktionen und Klassen etc etwas anfangen, aber eventuell ist der Schritt im Moment doch etwas "überdimensioniert" für mich...
Ich komme mir bei den Beispielen in etwas so vor, wie wenn ein Pythoneinsteiger gleich mit Tkinter beginnt...
Das kann nicht gut sein
Es stellt sich mir die Frage, ob ich nicht doch eher wieder zurück zu Konsolenapps wechseln sollte, bis ich das im Schlaf (und rückwärts) beherrsche... Ich kann mit Modulen, Funktionen und Klassen etc etwas anfangen, aber eventuell ist der Schritt im Moment doch etwas "überdimensioniert" für mich...
Ich komme mir bei den Beispielen in etwas so vor, wie wenn ein Pythoneinsteiger gleich mit Tkinter beginnt...
Das kann nicht gut sein
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Damit hast du recht. Allerdings ist es doch oft so, das die Anforderungen wachsen. Dann will man doch was mit einer DB machen, dann doch Usereingaben (forms) nutzten... Man nutzt den Zusatz X, dann Y... und irgendwann hat man sich doch ein richtiges Framework zusammen gestellt.snafu hat geschrieben:Den Einwand verstehe ich nicht so ganz. Was ist daran lächerlich, ein Mikroframework zu benutzen, weil man die Aufgeblähtheit von Django vermeiden will, wenn die Aufgabenstellung diesen Umfang nicht erfordert?
Der Vorteil von Django gegenüber selbst zusammengestelltem Framework:
* Nur eine Doku
* Nur eine Community
Mittlerweile kann man auch unzählige zusätzliche Django Apps nutzten. In PyLucid hatte ich erst alles selbst machen wollen. Dann ein paar kleine Frameworks genutzt, dann Django und nun immer mehr externe Apps dazu. Mittlerweile ist das schon eine lange Liste: http://www.pylucid.org/en/download/package-info/
Nächstes Ziel ist aus PyLucid noch mehr einzeln nutzbare Apps zu extrahieren.
Wenn man natürlich auf externe Apps zurück greift hat man wieder mehrere Stellen für Doku/Community. Aber man hat auch mehr an Funktionalität...
Irgendwie bleib ich grade wieder hängen... Mir sind teilweise die Vorgehensweisen im Tutorial (ab Part 3 / 4 ist nicht klar). Will heißen, dass ich den Code nicht interpretieren kann. Dies wiederum lässt mich vermuten, dass ich mit Vollgas wieder retour zur Konsole sollte (Grundlagen wälzen), was allerdings eher langweilig ist. Vor allem deshalb, da ich mich nicht motivieren kannt etwas zu "basteln" (ideenlos...)
In Summe komme ich (wiedermal) nicht vom Fleck, was mich nicht grade positiv stimmt. Naturgemäß schwirren da wieder die Gedanken durch den Kopf, ob man nicht fürs Programmieren geschaffen sein könnte...
Irgendwas mache ich definitiv falsch!
LG
Daniel
In Summe komme ich (wiedermal) nicht vom Fleck, was mich nicht grade positiv stimmt. Naturgemäß schwirren da wieder die Gedanken durch den Kopf, ob man nicht fürs Programmieren geschaffen sein könnte...
Irgendwas mache ich definitiv falsch!
LG
Daniel
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Was wolltest Du denn in Sachen Webapp umsetzen? Das ganze HTML ist ja nur Darstellung - die Logik kann man ja auch getrennt davon umsetzen. Insofern könntest Du doch evtl. genau diese Idee mit einem CLI-Interface umsetzen.mcdaniels hat geschrieben: Vor allem deshalb, da ich mich nicht motivieren kannt etwas zu "basteln" (ideenlos...)
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
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Na dann überlege Dir eben, welche Funktionalität es dafür braucht!mcdaniels hat geschrieben:Servus,
dachte da zuerst an etwas Einfaches zb ein Gästebuch.
- man braucht wohl irgend eine Datenstruktur, in der man alle für einen Eintrag benötigten Daten zusammen hält; also entweder ein Dictionary oder eine Klasse aus dem Bauch heraus.
- man will Einträge anzeigen lassen
- man will ggf. immer nur eine gewisse Anzahl anzeigen lassen ("Pagination")
- man muss diese Datensätze irgend wie speichern, also musst Du über Persistenz nachdenken. Das kann erst einmal über JSON gehen, oder Du gehst direkt über SQL (SQLite) oder gar eine NOSQL-DB...
- man will einen neuen Eintrag schreiben
- man will ggf. einen löschen dürfen
Das ist doch alles wunderbar ohne "Firlefanz" als simple CLI-App machbar! Imho ähnelt das doch den klassischen Beispielen von Telefonbuch- oder Adressbuch-Programmen, die Anfänger immer gerne implementieren.
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
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Und schon ist es hilfreich eine Abstraktionsschicht zu haben.mcdaniels hat geschrieben:werd wohl mal eher auf SQLite setzen.
Also für ein Gästebuch braucht man min. zwei Hilfsmittel: Etwas um Formulare darzustellen und zu validieren und die Abstraktionsschicht zur DB.
Kann man natürlich alles per Hand machen. Vielleicht für den Anfang auch ganz nett, um mal alles von unten zu sehen. Aber auf langer Sicht gesehen ist es besser auf fertige Bibliotheken zu setzten. Mit den lassen sich dann auch schwierigere Aufgaben in Zukunft lösen.
Und schon ist man wieder bei der Frage: http://wiki.python.de/Web-Frameworks#We ... w-r_wen.3F
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Eigentlich nur indirekt... hier ginge es ja um ORM / SQL-Abstraction Layer Aber da fällt einem ja eh nur SQLAlchemy ein.jens hat geschrieben: Und schon ist man wieder bei der Frage: http://wiki.python.de/Web-Frameworks#We ... w-r_wen.3F
Da der OP aber wohl noch Probleme mit den Grundlagen hat, soll er ruhig erst mal so anfangen. Danach kann und sollte er Schritt für Schritt die App aufpolieren; das kann ja auch mit der Flexibilisierung der Persistenz anfangen (Wahl ob DB oder Flat-File, je nach Wahl andere Mechanismen usw).
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
Wahrscheinlich spielt bei mir auch der Faktor Zeit eine Rolle. Mal kann ich wirklich tagelang bei Python "dabei" bleiben, dann wieder Wochen nicht...(da verlier ich dann schon mal bereits Gelerntes) sicher eher nicht optimal...
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Das Erlernen von Paradigmen und Idiomen ist aber analog zum Fahrradfahren; einmal gelernt vergisst man es kaum. Details oder auch das Spezialwissen um Module, Built-in Functions usw. vergisst man sicherlich eher; aber da kommt man dann auch schnell wieder rein, wenn man es wieder regelmäßig braucht und in der Doku nachschlägt.
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
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Das geht mir ganz genauso. Darum dauern auch Dinge einfach lange...mcdaniels hat geschrieben:Wahrscheinlich spielt bei mir auch der Faktor Zeit eine Rolle. Mal kann ich wirklich tagelang bei Python "dabei" bleiben, dann wieder Wochen nicht...(da verlier ich dann schon mal bereits Gelerntes) sicher eher nicht optimal...
Hilfreich: viele Hinweise in den code packen (DocStrings).
Ich bin auch froh, das ich bei Django eine sehr gute Dokumentation habe...
Ich kenne Python jetz schon eine ganze Weile, aber hatte genau das gleiche Gefühl, nachdem ich das Django Tutorial zuletzt durchgearbeitet hatte..
mcdaniels hat geschrieben:Ich hab jetzt mal die ersten 2 Teile des Tutorial durch. Grundsätzlich verstehe ich es ja. Allerdings wäre ich nicht im Stande mit den erhaltenen Informationen - ohne immer wieder nachzusehen - etwas auf die Beine zu stellen.
Es stellt sich mir die Frage, ob ich nicht doch eher wieder zurück zu Konsolenapps wechseln sollte, bis ich das im Schlaf (und rückwärts) beherrsche... Ich kann mit Modulen, Funktionen und Klassen etc etwas anfangen, aber eventuell ist der Schritt im Moment doch etwas "überdimensioniert" für mich...
Ich komme mir bei den Beispielen in etwas so vor, wie wenn ein Pythoneinsteiger gleich mit Tkinter beginnt...
Das kann nicht gut sein
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.