Python 如何更新django模板中呈现的变量?
我试图呈现一个变量,该变量将在代码中多次更新,但它只是将最后一个变量呈现到模板中, 例如: 视图。py:Python 如何更新django模板中呈现的变量?,python,django,django-templates,jinja2,backend,Python,Django,Django Templates,Jinja2,Backend,我试图呈现一个变量,该变量将在代码中多次更新,但它只是将最后一个变量呈现到模板中, 例如: 视图。py: def test(request): message = 'first massage' #do something message = 'second massage' return render(request,'test.html',{'message':message}) test.html: <h1> {{message}} <
def test(request):
message = 'first massage'
#do something
message = 'second massage'
return render(request,'test.html',{'message':message})
test.html:
<h1> {{message}} </h1>
{{message}
它只显示第二条消息,但我希望它显示第一条消息,然后在它更改后,显示第二条消息。有什么帮助吗?您好,我想您可以通过执行以下操作来解决此问题。。。。您需要创建一个循环。。它看起来像这样 在html代码之前,键入{%for messages in messages%} 在html代码之后键入{%endfor%} 希望它能起作用
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}`;
});
您可以随时执行fetch请求,并且可以执行任意次数
变量,我建议您直接使用JavaScript。看看您的视图函数,您可以使用
消息的最后一个状态
变量渲染一次模板。您可以随时更改变量,但模板将仅以最后一种状态呈现。注意,Django呈现一个静态HTML文档。如果您想创建一个动态页面,应该使用AJAX或SPA。或者更简单的方法是使用javascript,它使用传递的值并逐个显示它们。您可以为这两条消息使用不同的变量名。然后最后将两个变量都发送到模板。嗨,谢谢你的回答,但我之前尝试过,它只是在消息中循环并显示其字符谢谢,但是如果我使用这个,我应该如何返回我的呈现模板呢?您将只呈现一次包含变量“message”的模板。然后每次获取数据时都通过javascript更新您的变量。(someElement.innerHTML='${message}')。