报错:local variable 'userinfo' referenced

问题:local variable 'userinfo' referenced before assignment

代码片段

cache = memcache.Client(["127.0.0.1:11211"], debug=0)
def login_in(request):
    if request.method == "POST":
        code = request.POST.get('code')
        userinfo = request.POST.get('userinfo')

    userinfo = json.loads(userinfo)
    nickname = userinfo['nickName']

报错信息

img

根据网上的解决方案,添加global全局变量,又出现全局变量未定义,这种情况global能赋值吗。还是改正方法有问题?实在不知道什么问题!

cache = memcache.Client(["127.0.0.1:11211"], debug=0)
def login_in(request):
    global userinfo
    if request.method == "POST":
        code = request.POST.get('code')
        userinfo = request.POST.get('userinfo')

    userinfo = json.loads(userinfo)
    nickname = userinfo['nickName']

img

很显然的userinfo 不在域里 下面的代码获取不到。

怎么没有else呢, 如果不是POST的那你这userinfo没有值?