跨网页的django全局变量?

时间:2017-10-16 23:44:45

标签: django request

如何在网页/功能之间传递变量?

例如,让我们说当我访问网页" test3.html"时,我想得到变量a_test1和a_test2的总和,它们是"全球& #34;变量随访问test1.html和test2.html而增加。 test1.html,test2.html和test3.html可以多次独立访问。下面的代码不能正常工作,但是如果我可以以某种方式创建a_test1和a_test2全局变量呢?可以这样做吗?

另一种选择可能是通过"请求传递这些变量"参数?可以这样做吗?

urlpatterns = [
    url(r'^test1/$', views.test1),
    url(r'^test2/$', views.test2),
    url(r'^test3/$', views.test3),
]
在views.py中

def test1(request):
    a_test1=1+a_test1
    return render(request,'test1.html',{'a_test1': a_test1})
    #other stuffs

def test2(request):
    a_test2=1+a_test2
    return render(request,'test2.html',{'a_test2': a_test2})
    #other stuffs

def test3(request):
    a_test3=a_test1+a_test2
    return render(request,'test3.html',{'a_test3': a_test3})
    #other stuffs

1 个答案:

答案 0 :(得分:3)

您可以使用会话变量来跨多个模板和视图共享变量!例如:

def test1(request):
    a_test1=1+a_test1  
    request.session['my_variable'] = a_test1
    return render(request,'test1.html',{'a_test1': a_test1})

有了这个,你可以在你的网站上的任何地方访问request.session ['my_variable']!

https://docs.djangoproject.com/en/1.11/topics/http/sessions/