如何解决django-social的错误404



我希望能够通过社交媒体登录。按照所有步骤(注册的应用程序(,登录操作很好,但没有通过,因为django无法识别我的url。

这是我对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网址有问题。事实上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)
]

URLS在我的项目中

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

其他URL,如http://127.0.0.1:8000/api/users/做工作。我还觉得我的所有设置都很有序。

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

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

最新更新