我正在尝试渲染一个变量,该变量将在代码中多次更新,但是它只是将最后一个变量呈现给模板,例如在我的模板上:
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>
它仅显示second message
,但我想先显示first message
,然后再更改显示second message
。有帮助吗?
答案 0 :(得分:1)
如果要动态更改“ message”变量(例如“ message”变量与模型有关),
a。)在views.py中使用python更新“ message”变量, 创建一个返回JsonResponse的api,然后您可以通过以下方式获取此数据 JavaScript和更新(document.getElementById(“ someID”)。innerHTML =“ $ {message}`)
在Views.py
中def testapi(request):
# do something
return JsonResponse({"message":"VALUE_OF_MESSAGE"},status=201)
在javascript文件中
fetch('/testapi')
.then(response => response.json())
.then(resp => {
console.log(resp); //output=> {"message":"VALUE_OF_MESSAGE"}
var message=resp.message;
document.getElementById('someId').innerHTML= ``${message}`;
});
您可以随时随地执行获取请求。
2。)如果您必须对页面中的元素进行某些操作以更新您的消息 变量,建议您直接使用JavaScript。
答案 1 :(得分:0)
您好,我认为您可以通过以下操作来解决....您需要创建一个循环..它看起来像这样。.
在您的html代码之前,输入{%表示消息%}中的消息 然后在您的html代码中输入{%endfor%}
希望它能起作用。...