【发布时间】:2020-12-07 20:14:22
【问题描述】:
我正在尝试渲染一个将在代码中多次更新的变量,但它只是将最后一个渲染到模板中, 例如:
views.py:
def test(request):
message = 'first massage'
#do something
message = 'second massage'
return render(request,'test.html',{'message':message})
test.html:
<h1> {{message}} </h1>
它只显示第二条消息,但我希望它显示第一条消息,然后在它更改后显示第二条消息。有什么帮助吗?
【问题讨论】:
-
查看您的视图函数,您使用
message变量的最后状态渲染模板一次。您可以根据需要更改变量,但模板将仅以最后一个状态呈现。注意,Django 呈现一个静态 HTML 文档。如果要制作动态页面,则应使用 AJAX 或 SPA。或者更简单的方法是使用使用传递值的javascript并一一显示。 -
您可以为两条消息使用不同的变量名。然后最后将两个变量都发送到模板。
标签: python django django-templates jinja2 backend