HTML
とBottle
(Python
)というWebストアを作成しています。 HTML
とPython
の間でデータを渡す方法と、HTML
(参考:http://karrigell.sourceforge.net/en/pythoninsidehtml.html)の中にPython
というコードを書く方法を知っています。HTML内のPythonコードと渡される変数を組み合わせた
私が苦労しているのはPython
というコードをHTML
からPython
に渡す参照の中に書きます。
私はたくさんあるのでデータベースからイメージを読み込みます。私は設定して、このようなHTML
に変数をimage_name(index)
渡す:
@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)
store.html
の関連部分:HTML
で{{image_title}}
から渡された値を取得します:Bottle
以来
<!-- 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>
は、そのよく知られていませんtemplate (html, variables)
。ブロック<% %>
は、Python
コードを内部に書き込むことができます。
すべてが、私は、HTML
内の画像のプロパティのインデックスを使用しそうHTML
とfor loop
が仕事をしなかったとき、問題はこの部分である適切に働いていた:
{{image_title<%i%>}}
<%i%>
は私の意見で作成する必要があります変数image_title
iしかし明らかにそうではありません。
私が.py
ファイルを渡している変数がHTML
に存在しない可能性が高いため、template not found
というエラーが発生します。
すべてのイメージをハードコードする代わりに、これを動的に実行する理由は、私がそれらのイメージをたくさん持ち、すべてのイメージには関連するデータの全テーブルがあります。イメージの名前とタイトルと同じ方法です。
私は本当に動的
私はちょうどリスト自体に渡すことができます気づかなかった、ありがとう:) – Larisa