gpt4 book ai didi

python - 如何将此 python 代码插入到我的 html 模板中?

转载 作者:太空宇宙 更新时间:2023-11-03 18:40:38 25 4
gpt4 key购买 nike

get方法的python:

    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)

艺术.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 中的值?

最佳答案

让模板为您完成工作,请注意您的 art.html 已经在帖子上循环。您所需要做的就是将图像添加到模板中。一般来说,您的 View 函数用于检索/处理数据,而您的模板负责格式化/显示。

艺术.html

...
{% for post in posts %}
<div class="art"><img src="img?img_={{post.key()}}" class="art" width="500"></img></div>
<div class="art_title">{{post.title}}</div>
...

您可能遇到的唯一问题是 post.key 是可调用的,而不是某种值。大多数模板引擎都可以与可调用对象一起正常工作,但在极少数情况下,您可能必须自己构建上下文。

编辑:

既然您声明您正在使用 Jinja,则必须通过在 {{post.key()}} 中添加括号来显式完成方法调用

关于python - 如何将此 python 代码插入到我的 html 模板中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20579157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com