Ich erstelle einen Web-Shop mit HTML
und Bottle
(Python
). Ich weiß, wie man Daten zwischen HTML
und Python
weitergibt, sowie wie man Python
Code innerhalb HTML
schreibt (Referenz: http://karrigell.sourceforge.net/en/pythoninsidehtml.html).Kombinieren von Python-Code in HTML mit Variablen
Was ich damit zu kämpfen habe, schreibt Python
Code innerhalb der Referenz, die von HTML
zu Python
übergeben wird.
Ich lade Bilder aus einer Datenbank, da ich viele davon habe. Ich gesetzt und die Variablen übergeben image_name(index)
-HTML
wie folgt aus:
@get('/store')
def showStore():
images = models.images() # reads from database
data = ', number_of_images={}'.format(len(images))
for (id, title, path) in images:
data += ', image_name{}={}, '.format(id, path)
data += 'image_title{}={}'.format(id, title)
return template('store.html' + data)
Der entsprechende Teil des store.html
:
<!-- Portfolio Gallery Grid -->
<div class="row">
<% for i in range(1, number_of_images+1): %>
<div class="column">
<div class="content">
<img src="static/images/{{image_name<%i%>}}.jpg">
<h3> {{image_title<%i%>}} </h3>
</div>
</div>
<% end %>
</div>
Da Bottle
ist nicht bekannt: {{image_title}}
in HTML
den Wert in aus den übergebenen bekommt template (html, variables)
. Block <% %>
ermöglicht es Ihnen, Python
Code darin zu schreiben.
Alles richtig funktionierte, wenn ich nicht die Indizierung von Bildeigenschaften innerhalb der HTML
verwendet habe, so HTML
und die for loop
Arbeit tun, ist das Problem mit diesem Teil:
{{image_title<%i%>}}
<%i%>
sollte meiner Meinung nach schaffen Variable image_title
ich aber anscheinend tut es nicht.
Ich bekomme einen template not found
Fehler, wahrscheinlich, weil die Variablen, die ich übergebe (von der .py
Datei) nicht in der HTML
existieren.
Der Grund, warum ich das sehr gerne dynamisch machen würde, anstatt jedes Bild hart zu kodieren, ist, dass ich viele dieser Bilder habe und jedes Bild eine ganze Tabelle relevanter Daten hat, die ich hier nicht finden würde genauso wie Name und Titel des Bildes.
ich Hilfe mit der richtigen Kombination von Python
innerhalb HTML
mit Variablen übergeben schätzen würde, da ich es wirklich dynamisch
Mir ist nicht klar, dass ich nur die Liste selbst weitergeben kann, danke :) – Larisa