如何解决django-social错误404?

问题描述 投票:0回答:1

我希望能够通过社交媒体登录。按照所有步骤(注册的应用程序),登录正常,但由于django无法识别我的网址而无法通过。

这是我对api端点的调用

facebookLogin(token: string):any{
    return this.http.post(environment.api + 'fblogin/', {token:this.token}).subscribe(
      (onSucess:any) => {
        localStorage.setItem(this._tokenKey, onSucess.token)
      }, onFail => {
        console.log(onFail)

      }
    );
  }

但是出现以下错误:POSThttp://127.0.0.1:8000/api/fblogin/404(未找到)。由此我知道我的Django URL出了点问题。确实进入http://127.0.0.1:8000/api/fblogin/给了我一个页面未找到错误,并且它试图匹配其他几个URL。

但是我看不到我的网址出了什么问题

我的应用程序中的URL

from django.conf.urls import url, include
from rest_framework import routers
from . import views
from rest_framework_jwt.views import obtain_jwt_token, refresh_jwt_token
from social_django import urls

router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)

urlpatterns = [
    url(r'^', include(router.urls)),
    url(r'fblogin/', include(urls)),
    url(r'auth/', obtain_jwt_token),
    url(r'refresh/', refresh_jwt_token)
]

我的项目中的URL

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include('Backend.api.urls'))
]

其他http://127.0.0.1:8000/api/users/之类的URL也可以。我也觉得我的所有设置都井井有条。

django facebook django-rest-framework django-authentication python-social-auth
1个回答
0
投票

我建议我可能是因为您定义URL的顺序和方式。py请尝试以下格式

from django.conf.urls import url, include
from rest_framework import routers
from . import views
from rest_framework_jwt.views import obtain_jwt_token, refresh_jwt_token
from social_django import urls

router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)

urlpatterns = [
    url(r'^fblogin/', include(urls)),
    url(r'^auth/', obtain_jwt_token),
    url(r'^refresh/', refresh_jwt_token)
] + router.urls
© www.soinside.com 2019 - 2024. All rights reserved.