问题描述
我正在尝试渲染一个变量,该变量将在代码中多次更新,但是它只是将最后一个变量呈现给模板,例如在我的模板上:
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
。有帮助吗?
解决方法
-
如果要动态更改“ 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。
,您好,我认为您可以通过以下操作来解决....您需要创建一个循环..它看起来像这样。.
在您的html代码之前,输入{%表示消息%}中的消息 然后在您的html代码中输入{%endfor%}
希望它能起作用。...