Python Variable auf HTML Page verwenden

Django, Flask, Bottle, WSGI, CGI…
Antworten
Bindl
User
Beiträge: 70
Registriert: Donnerstag 27. Oktober 2016, 11:48

Sonntag 18. Juni 2017, 09:11

Hi zusammen,
ich möchte eine if Abfrage auf der Webseite machen mit einer Variablen aus dem Python Quellcode.

Die Variable im Python Quellcode soll entweder den String Wert a oder b.
Das funktioniert auch, habe mir den Variableninhalt als auch Typ anzeigen lassen.

Nun scheint die Seite die Variable nicht "einzulesen".
Hier mein HTML Code:
[codebox=html5 file=Unbenannt.html]
{% if rechte2 == "b" %}...
{% else %}....
{% endif %}[/code]
Leider springt die Seite immer in die else Anweisung, obwohl rechte2 = b und b ist ein String, also "b".

Was mache ich falsch?
BlackJack

Sonntag 18. Juni 2017, 10:25

@Bindl: Das kann ich nicht nachvollziehen:

Code: Alles auswählen

>>> print(source)
{% if rechte2 == "b" %}
  Yes.
{% else %}
  No.
{% endif %}

>>> t = jinja2.Template(source)
>>> print(t.render(rechte2='b'))

  Yes.
Also entweder ist `rechte2` im Template an einen anderen Wert als 'b' gebunden, oder Du übergibst das vielleicht gar nicht an das Template, was keinen Fehler ergibt, sondern einfach nur dafür sorgt, das `undefined` mit 'b' verglichen wird, was natürlich unwahr ist.

Ich glaube wir hatten schon mal über Namen gesprochen: Durchnummerieren ist keine gute Idee. `rechte2` sollte im Namen ausdrücken was den Wert von `rechte1` oder `rechte3` unterscheidet. Bei `rechte1` und `rechte3` sollte das ebenfalls der Fall sein.
Antworten