Variable im html anzeigen lassen (Python)

Django, Flask, Bottle, WSGI, CGI…
Antworten
naheliegend
User
Beiträge: 439
Registriert: Mittwoch 8. August 2018, 16:42

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
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

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.
naheliegend
User
Beiträge: 439
Registriert: Mittwoch 8. August 2018, 16:42

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>?
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
naheliegend
User
Beiträge: 439
Registriert: Mittwoch 8. August 2018, 16:42

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.
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
naheliegend
User
Beiträge: 439
Registriert: Mittwoch 8. August 2018, 16:42

Jetzt habe ich noch eine Frage:

Wie kann man denn ü, ä, ö etc anzeigen lassen? Da werden bei mir aktuell so merkwürdige Zeichen dargestellt.
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

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?
thorstenHH
User
Beiträge: 11
Registriert: Samstag 20. Juni 2020, 20:06

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
Antworten