我是Django的新手,我正在尝试访问其他文件中的变量。但我不明白他的价值。我不使用DJango身份验证系统,我登录到一个IDP,IDP发送回tokenId、uid和更多的数据。你知道吗
在文件a.py我有:
.........
tokenId = ''
.........
def validateToken(tokenId):
...............
returns True or False
def login(request):
.............
global tokenId
tokenId = value/returned/from/server
return HttpResponseRedirect('/loggedin')
当用户重定向它时,代码转到文件b.py地址:
from fileA import validateToken, tokenId
.........
def menu(request):
if validateToken(tokenId):
return render_to_response('menu/menu.html')
else:
return render_to_response('menu/access_error.html')
如果我调试我发现tokenId是空的。。。但是在fileA中,tokenId分配了他的值,我可以用它来注销并工作。所以我不明白为什么当我从其他文件调用tokenId时它没有值。。。你知道吗
我试着检查文件:
def validateToken(): #I don't pass the var because it's global on fileA
.........
returns True or False
在文件B上我有:
from fileA import validateToken
.........
def menu(request):
if validateToken():
return render_to_response('menu/menu.html')
else:
return render_to_response('menu/access_error.html')
但是它给出了一个错误:[NameError]name'tokenId',它没有定义。你知道吗
但它是有定义的!:/
我做错了什么?谢谢和问候。你知道吗
感谢Daniel Roseman给了我使用会话的提示。我已经解决了我的问题。你知道吗
我在文件上加了:
现在,在fileB中,我使用了validate函数:
相关问题 更多 >
编程相关推荐