Seite 1 von 1

Html Datei erstellen

Verfasst: Dienstag 17. Oktober 2017, 08:54
von halo23
Ich bin überfordert, da es für mein Problem jedemenge Lösungen zu geben scheint und ich nicht filtern kann.

Ich habe ein Python Skript dass infos von mehreren Servern abfragt. Diese möchte ich auf einer Website ausgeben.

Welche simple, coole, zukunftssichere Methode möchte ich denn hierfür anwenden?

Re: Html Datei erstellen

Verfasst: Dienstag 17. Oktober 2017, 09:00
von Sirius3
@halo23: willst Du nun statische HTML-Seiten generieren oder einen HTTP-Server betreiben?

Re: Html Datei erstellen

Verfasst: Dienstag 17. Oktober 2017, 09:24
von halo23
Nur statische.

Re: Html Datei erstellen

Verfasst: Dienstag 17. Oktober 2017, 10:17
von __deets__
Warum statisch? Ist doch viel anstrengender, als einen Server zu schreiben, wenn die Natur der Daten eh dynamisch ist. Was auch immer du fuer Code schreibst, der dir die statische Seite zusammenroedelt, das Ergebnis kann dann auch gleich ausgeliefert werden.

Und ohne viel mehr Informationen dazu, was das fuer Daten sind, und wie die dargestellt werden, kann man da auch wenig zu sagen. Im Grunde geht jedes Webframework, was "cool" sein soll weiss auch niemand so genau, und die Zukunft ist im Web per se sehr unsicher :)

Re: Html Datei erstellen

Verfasst: Dienstag 17. Oktober 2017, 12:09
von halo23
Warum statisch? Ist doch viel anstrengender, als einen Server zu schreiben, wenn die Natur der Daten eh dynamisch ist
In erster Linie, um es einfach zu halten. Ein Apache läuft auf dem Server bereits, dass Skript, welches die Infos per print() ausgibt, existiert bereits.
Flask ist ja "cool", es kommt mir für meinen Anwendungsfall dennoch vor, wie "mit Kanonen auf Spatzen geschossen".
Ich räume aber ein, dass ich mich hier ganz gewaltig irre könnte.
Darum wollte ich hier mal die Experten Fragen, wie die das realisieren würden.
Und ohne viel mehr Informationen dazu, was das fuer Daten sind, und wie die dargestellt werden, kann man da auch wenig zu sagen
Bin mir nicht sicher, ob ich die Frage richtig verstehe: Ich habe einige Strings die man bspw. in ein Dictionary packen könnte.
Zunächst möchte ich diese Strings in einer Tabelle darstellen.

Re: Html Datei erstellen

Verfasst: Dienstag 17. Oktober 2017, 12:54
von __deets__
Naja normalerweise ist heute ja Standard, dass eine Webseite sich zB automatisch updated. Dafuer ist dann eine statisch Seite ungeeignet. Wenn es numerische Daten in Form von Graphen sind, dann kann sowas wie Bokeh benutzt werden. Etc.

Wenn es dir nur um ein Templating system gibt, dann nimm was auch immer du willst. Die unterscheiden sich in meinen Augen nicht gross, und selbst die eingebauten Mechanismen von Python koennen schon recht weit tragen. Wichiger ist hier der konzeptionelle Ansatz: klare Trennung von Daten und Darstellung. Sonst wird ein Layout-Wechsel zum Albtraum.

Der Apache ist durch Flask leicht zu ersetzen. Solange du keine Hochlastszenarien hast, bei denen du unbedingt statisch Inhalte vom Apache (oder NGINX) ausliefern lassen willst, weil es um jeden CPU-Zyklus geht, braucht man sich halt nicht um eine grossartige Integration von APACHE mit zB WSGI und Flask bemuehen.

Last but not least: wenn dein Skript gerade eine HTML-Datei anfasst, die der Apache im gleichen Moment auslesen will, gibt's Buchstabensalat. Ja, das ist selten. Aber trotzdem eine Fehlerquelle. Ein laufender Server hat da viel mehr moeglichkeiten.

Re: Html Datei erstellen

Verfasst: Dienstag 17. Oktober 2017, 14:02
von halo23
OK, dass hilft mir schon mal weiter!

Ich habe mich jetzt für jinja entschieden.

Vielleicht steige ich ja später noch auf Flask um.

Danke und Gruß

Re: Html Datei erstellen

Verfasst: Dienstag 17. Oktober 2017, 14:07
von noisefloor
Hallo,

Flask nutzt Jinja2 als Template-Engine, von daher müsste du dann nur noch das Routing lernen. Was auch einfach ist.

Gruß, noisefloor

Re: Html Datei erstellen

Verfasst: Dienstag 17. Oktober 2017, 16:15
von pixewakb
Ich habe mir eine eigene Bibliothek geschrieben - in den Anfangstagen meines Schaffens -, um Daten lokal in HTML-Reports ausgeben zu können. Das Verfahren läuft für mich sehr gut und hat sich bis heute bewährt. Alte Standard-Reports packe ich fast nie an.

Aus Interesse: Wie würdet ihr eine Flask-App im Netz hosten? Also mit php kenne ich mich aus, da gab es keine Schwierigkeiten einen Freehoster zu finden, aber ein Python Free-Hoster mit Python3-Support ist mir eigentlich noch nicht untergekommen.

Re: Html Datei erstellen

Verfasst: Dienstag 17. Oktober 2017, 16:37
von halo23
Vielleicht hilft dir das weiter:

https://gist.github.com/tocsinDE/98c423da2724d23c02ff

Ich habe mit Uberspace bisher guter Erfahrungen gemacht.

Re: Html Datei erstellen

Verfasst: Dienstag 17. Oktober 2017, 16:47
von pixewakb
Danke!

Re: Html Datei erstellen

Verfasst: Dienstag 17. Oktober 2017, 17:43
von nezzcarth
@pixewakb: Allerdings sollte man vielleicht dazu sagen, dass die Variante, wie Python bei Uberspace gehandelt wird - per FCGI - aus "betrieblichen Gründen" nicht der übliche Weg zur Apache-Anbindung ist (das wäre wohl mod_wsgi). Hier findest du ein paar generelle Infos zum Flask-Deployment:
http://flask.pocoo.org/docs/0.12/deploy ... ed-options

Re: Html Datei erstellen

Verfasst: Dienstag 17. Oktober 2017, 18:48
von pixewakb
Danke, ich habe gestern mal aus Zeitvertreib eine simple Einseiten-Flask-App erstellt. php scheint mir in der Entwicklung noch einfacher, die Links habe ich mir mal gebookmarkt...

Re: Html Datei erstellen

Verfasst: Dienstag 17. Oktober 2017, 18:57
von noisefloor
Hallo,

Python Webapplikation sollte man wo immer möglich über WSGI ausliefern. Das ist nun mal der Standard.

Alternativ: per Zappa auf AWS deployen. Oder, eine Stufe kleiner, AWS + Chalice. Letzteres habe ich für eine kleines Projekt im Einsatz, wo keine Datenpersistenz nötig ist. Klappt gut.
php scheint mir in der Entwicklung noch einfacher
Er hat JEHOVA gesagt! :D

Gruß, noisefloor