我有两个会话变量,在渲染后需要更改。当我尝试以下时 -
def my_view(request)
rend= render(request,"chat_page.html",{"answer":questions[request.session["stage"]]["instruction"]})
request.session["stage"]=request.session["stage"]+1
return rend
我观察到第一个stage
变量被修改然后渲染完成。有一种方法可以在渲染完成后更改stage
的值。
答案 0 :(得分:0)
我相信您需要手动创建一个HttpResponse并插入呈现的字符串,因为render
方法返回一个迭代器,直到最后一刻才对其进行求值。
content = render_to_string("chat_page.html",{"answer":questions[request.session["stage"]]["instruction"]})
response = HttpResponse(content)
request.session["stage"] = request.session["stage"] + 1
return response