0

我正在将 django-allauth 与应用引擎一起使用,当我将 login_required 装饰器添加到我的视图时,我收到以下错误:Reverse for 'facebook_login' with arguments '()' and keyword arguments '{}' not found。完整的追溯在这里:http ://slexy.org/view/s20Zs7JvFl

我的设置:

TEMPLATE_CONTEXT_PROCESSORS = (...,

"allauth.account.context_processors.account",

“allauth.socialaccount.context_processors.socialaccount”,

)

AUTHENTICATION_BACKENDS = (

"django.contrib.auth.backends.ModelBackend",

"allauth.account.auth_backends.AuthenticationBackend",

)

INSTALLED_APPS = (

...,

'allauth',

'allauth.account',

'allauth.socialaccount',

'allauth.socialaccount.providers.facebook',

)

我可能想念一些愚蠢的事情。我应该怎么做才能向前迈出一步?谢谢,亚历克斯

4

1 回答 1

2

TL;DR:您需要将请求库与您的应用程序一起提供;我刚刚将它从 /path/to/google-cloud-sdk/platform/google_appengine/lib 复制到 /path/to/my/app。

更长的解释:allauth Facebook 提供程序需要“请求”库才能正常工作。有趣的是,Google App Engine 确实提供了它(参见上面的路径),但到目前为止它不在可以引用的库的“公共接口”中(参见https://cloud.google.com/appengine/docs/蟒蛇/工具/库27)。我假设 App Engine 提供了该库,因为上面列表中的公共库之一需要它。如果 App Engine 将它添加到公共库列表中会很酷,因此用户可以在 app.yaml 文件中引用它,但这里描述的解决方法对我有用。

于 2014-11-07T18:27:58.710 回答