我的一个视图中有一个变量
def ViewName(request):
simple_variable = request.session['value']
在相同的views.py文件中,我有另一个视图
def AnotherViewName(request):
--------------------
--------------------
现在我想在simple_variable
视图中使用变量AnotherViewName
,我试过了
def AnotherViewName(request):
global simple_variable
但是,它没有用,现在我的问题是,如何在Django中使用从一个视图到另一个视图的变量,或者我如何全局使用变量?
提及 simple_variable
存储来自session
的值,最初我必须在上面给出的ViewName
视图中调用它。
我正在使用django 1.5
答案 0 :(得分:4)
视图之间没有共享状态,因为它们可能在另一个线程中运行。因此,如果要在视图之间共享数据,则必须使用数据库,文件,消息队列或会话。
这是关于此的另一个stackoverflow。 How do you pass or share variables between django views?
在rego编辑问题后更新:
你不能这样做吗?
def ViewName(request):
simple_variable = request.session['value']
def AnotherViewName(request):
simple_variable = request.session['value']
答案 1 :(得分:1)
或者您可以使用session。
def ViewName(request):
#retrieve your value
if 'value' in request.session:
simple_variable = request.session['value']
def AnotherViewName(request):
#set your varaible
request.session['value'] = simple_variable
答案 2 :(得分:0)
我认为你可以这样做:
simple_variable = initial_value
def ViewName(request):
global simple_variable
simple_variable = value
...
def AnotherViewName(request):
global simple_variable