Seite 1 von 1

Variable im html anzeigen lassen (Python)

Verfasst: Dienstag 16. Juni 2020, 08:21
von naheliegend
Hi,

ich nutze Folium und möchte mit iFrame einen Text auf der Karte anzeigen lassen.

Code: Alles auswählen

	
   variable = 2+2
   	
    html = """
        <h1> This is a big popup</h1><br>
        With a few lines of code...
        <p>
        <code>
            variable 
        </code>
        </p>
        """
    iframe = folium.IFrame(html=html, width=500, height=300)
    
    (...)
Es sollte dann 4 angezeigt werden, es wird aber variable angezeigt.

Viele Grüße

Re: Variable im html anzeigen lassen (Python)

Verfasst: Dienstag 16. Juni 2020, 08:30
von sparrow
Für die Generierung von HTML-Code gibt es Template-Systeme, die dann auch Schleifen bei der Generierung unterstützen. Ich mag Jinja.

Wenn es nur um diesen einen Fall geht und es so simpel reicht: Wie in jeder Zeichenkette braucht man auch hier String-Formatierung, wenn man dort einen Wert einbauen möchte. Hier finde ich die sehr gut erklärt. Einfach bis zu den f-Strings herunter scrollen.

Re: Variable im html anzeigen lassen (Python)

Verfasst: Dienstag 16. Juni 2020, 08:46
von naheliegend
Okey.

Code: Alles auswählen

  
  from jinja2 import Template
  
    number = 2+2

    html = Template("Bla Bla {{ number }}")
    
    
Gibt mir den Fehler:

Code: Alles auswählen

AttributeError: 'Template' object has no attribute 'get_name'
Kann man mit Jinja auch Zeilenumbrücke etc einfügen? Also wie das halt so bei html üblich ist mit <br>?

Re: Variable im html anzeigen lassen (Python)

Verfasst: Dienstag 16. Juni 2020, 08:52
von naheliegend
Aber die f-string-Geschichte hat mein Problem gelöst.

Python überrascht mich einfach immer wieder aufs Neue. Wie geil ist das denn einfach html in Python zu kloppen und gleichzeitig noch Variablen nutzen? Oh man.

Re: Variable im html anzeigen lassen (Python)

Verfasst: Dienstag 16. Juni 2020, 09:43
von naheliegend
Jetzt habe ich noch eine Frage:

Wie kann man denn ü, ä, ö etc anzeigen lassen? Da werden bei mir aktuell so merkwürdige Zeichen dargestellt.

Re: Variable im html anzeigen lassen (Python)

Verfasst: Dienstag 16. Juni 2020, 09:45
von __deets__
Weil es eben nicht so einfach ist. Es gibt schon gute Gruende, warum Templating-Systeme existieren, denn der Teufel steckt bei sowas nunmal im Detail. Es ist wirklich Teil eines jeden Webframeworks eine Einleitung zur Nutzung eines/des Template-Systems zu geben. Warum folgst du dem nicht?

Re: Variable im html anzeigen lassen (Python)

Verfasst: Montag 22. Juni 2020, 12:34
von thorstenHH
guck dir mal an wie einfach deine ganze Problematik z.b. mit den Django Templateview zu lösen wäre.
https://docs.djangoproject.com/en/3.0/r ... mplateview

Sicher man muss sich erst mal grundsätzlich mit dem Framework beschäftigen und ich kann auch verstehen, das man ich davor drücken will, weil man ja nur eine kleines Problem zu lösen hat. lohnt sich aber wirklich die zeit zu investieren