2024-09-26 18:16:20 发布
网友
一些用户抱怨他们无法访问OSQA上的身份验证设置页面。他们收到500错误。See Screenshot但是,只有在他们通过“我忘了我的密码”或更改了密码之后才可以。 查看日志,错误具体如下:
UnboundLocalError: local variable name 'name' referenced before assignment
还有其他人经历过吗?如果是这样,我该如何解决它。 提前感谢您的帮助。!!在
日志中的堆栈跟踪如下所示(很抱歉格式不好):
查看osqa的源代码,以下是您遇到问题的行的代码(行号与您的行号不同,但这可能是由于版本不同):
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 =。在
name = "unknown: %s" % ConsumerTemplateContext.readable_key(k)
name =
我不能百分之百地肯定这一点,因为我对osqa不是很了解,但是如果我们保持原样,这个语句就不会做任何其他事情。另外,如果你能确定为什么k.provider不在AUTH_PROVIDERS中,那么你的bug是100%可复制的,我想这一定是非常罕见的。在
k.provider
AUTH_PROVIDERS
您可能想file a bug at ^{}'s bug tracker。为了在短期内解决您的问题,您可以:
provider
None
user
查看
osqa
的源代码,以下是您遇到问题的行的代码(行号与您的行号不同,但这可能是由于版本不同):看起来像第354行,我们应该有
name = "unknown: %s" % ConsumerTemplateContext.readable_key(k)
,但是有人忘了name =
。在我不能百分之百地肯定这一点,因为我对
osqa
不是很了解,但是如果我们保持原样,这个语句就不会做任何其他事情。另外,如果你能确定为什么k.provider
不在AUTH_PROVIDERS
中,那么你的bug是100%可复制的,我想这一定是非常罕见的。在您可能想file a bug at ^{}'s bug tracker 。为了在短期内解决您的问题,您可以:
provider
是None
的原因。(显然,这个问题是由当前的user
与AUTH_PROVIDERS
中的任何一个不对应而引起的。在相关问题 更多 >
编程相关推荐