我的OSQA用户在更改密码后无法访问其认证设置

2024-09-26 18:16:20 发布

您现在位置:Python中文网/ 问答频道 /正文

一些用户抱怨他们无法访问OSQA上的身份验证设置页面。他们收到500错误。See Screenshot但是,只有在他们通过“我忘了我的密码”或更改了密码之后才可以。
查看日志,错误具体如下:

UnboundLocalError: local variable name 'name' referenced before assignment  

还有其他人经历过吗?如果是这样,我该如何解决它。
提前感谢您的帮助。!!在

日志中的堆栈跟踪如下所示(很抱歉格式不好):

^{pr2}$

Tags: 用户name身份验证密码local错误页面variable
1条回答
网友
1楼 · 发布于 2024-09-26 18:16:20

查看osqa的源代码,以下是您遇到问题的行的代码(行号与您的行号不同,但这可能是由于版本不同):

347     for k in auth_keys:
348         provider = AUTH_PROVIDERS.get(k.provider, None)
349
350         if provider is not None:
351             name =  "%s: %s" % (provider.context.human_name, provider.context.readable_key(k))
352         else:
353             from forum.authentication.base import ConsumerTemplateContext
354             "unknown: %s" % ConsumerTemplateContext.readable_key(k)
355 
356         auth_keys_list.append({
357         'name': name,
358         'id': k.id
359         })

看起来像第354行,我们应该有name = "unknown: %s" % ConsumerTemplateContext.readable_key(k),但是有人忘了name =。在

我不能百分之百地肯定这一点,因为我对osqa不是很了解,但是如果我们保持原样,这个语句就不会做任何其他事情。另外,如果你能确定为什么k.provider不在AUTH_PROVIDERS中,那么你的bug是100%可复制的,我想这一定是非常罕见的。在


您可能想file a bug at ^{}'s bug tracker。为了在短期内解决您的问题,您可以:

  • 找出你的providerNone的原因。(显然,这个问题是由当前的userAUTH_PROVIDERS中的任何一个不对应而引起的。在
  • 你自己修改代码中的那一行。在

相关问题 更多 >

    热门问题