我在渲染函数中传递了一个名为dict_context
的上下文字典,它使用数据渲染得很好。
return render(request, 'myapp/track.html', dict_context)
现在,在呈现的页面中,我有一个POST
的按钮,我想再次使用上下文字典,但是我收到了这个错误:
UnboundLocalError at /track_containers_import_data
local variable 'dict_context' referenced before assignment
如何在下一个渲染中重用dict_context
?我认为上下文会自动保存在会话中。
答案 0 :(得分:1)
通过存储在会话中,可以将对象传递给其他视图函数或POST
方法:
在第一个视图函数中的当前会话中存储对象:
request.session['dict_context'] = dict_context
return render(request, 'myapp/track.html', dict_context)
在同一会话中的任何其他视图函数中检索:
dict_context= request.session.get('dict_context', None)
# --------- do whatever you want with the object --------
return render(request, 'myapp/mytemplate.html', dict_context)