django DRF社会认证

sirbozc5  于 2023-03-20  发布在  Go
关注(0)|答案(1)|浏览(101)

我正在实现drf社会oauth2,当访问URL -localhost:8000/auth/login/facebook/时,我得到'drf' is not a registered namespaceNo ReverseMatch错误,当我将namespace更改为social时,我得到'social' is not a registered namespace
URL模式数

urlpatterns = [
    path("admin/", admin.site.urls),
    path('auth/', include('drf_social_oauth2.urls', namespace='social')),
    path('api/', include("users.urls")),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

安装的应用程序数量

INSTALLED_APPS = [
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",

    # rest
    "rest_framework",
    "corsheaders",
    "rest_framework_simplejwt",

    # Oauth
    "oauth2_provider",
    "social_django",
    "drf_social_oauth2",

    # apps
    "accounts",
    "inventory",
    "cart",
    "orders",
    "users",

]
bd1hkmkf

bd1hkmkf1#

下面的解决方案对我有效:通过向urlpatterns提供以下URL:
path('o/', include('social_django.urls', namespace='social'))

urlpatterns = [
 path("admin/", admin.site.urls),
 path('auth/', include('drf_social_oauth2.urls', namespace='drf')),
 path('o/', include('social_django.urls', namespace='social')),
 path('api/', include("users.urls")),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

并点击以下URL:
localhost:8000/o/login/facebook/

相关问题