蟒蛇GET方法:如何将此Python代码插入到我的html模板中?
posts = Post.all().order('num')
for post in posts:
key = post.key()
self.write('<div class = "art"><img src="img?img_id=%s" class = "art" width = "500"></img></div>' % post.key())
self.render("art.html", posts = posts)
art.html:
{% extends "base.html" %}
{% block content %}
<form method="post" class = "art">
{% for post in posts %}
<div class = "art_title">{{post.title}}</div>
<div class = "art_note">{{post.note}}</div>
<br>
{% endfor %}
</form>
</div>
{% endblock %}
这显示一个岗位工作正常,但是当有一个以上的职位,所有的艺术呈现在一个巨大的堆顶部,然后标题和描述笔记在另一堆文字中呈现。我希望页面能够为单个帖子呈现艺术作品,标题和音符。
我该如何插入python for字符串替换循环到html中? (我也尝试将html插入python中,但扩展“base.html”这一行会把它弄乱......如果我这样做,我将如何扩展“base.html”?)
编辑:
我试图
posts = Post.all().order('num')
self.render("art.html", posts = posts)
和
<div class = "art_box">
<form method="post" class = "art">
{% for post in posts %}
<div class="art"><img src="img?img_id={{post.key}}" class="art" width="500"></img></div>
<div class = "art_title">{{post.title}}</div>
<div class = "art_note">{{post.note}}</div>
<br>
{% endfor %}
</form>
</div>
这并没有显示所有的作品,只有标题和描述。
有没有一种方法可以在html中获取post.key的值并替换为url?
我所做的更改进行;查看编辑 – mango
Jinja不在乎你的花括号是在标签内还是在标签之外;但是,您确实需要明确地调用诸如“{{post.key()}}”之类的函数,而不是使用“{{post.key}}”。注意括号,其他模板引擎隐式地调用函数。 – kalhartt
huzzah!图像回来了。谢谢,这是有道理的。 – mango