找不到 django-rest-auth url

django-rest-auth urls not found

我正在尝试实施 django-rest-auth,但无法识别 url 并抛出 404 错误。 'rest_auth' 添加到 INSTALLED_APPS 中,路径也包含在 urls.py 文件中。

Request URL:    http://127.0.0.1:8000/api/v1/rest-auth/login/
Using the URLconf defined in blog_project.urls, Django tried these URL patterns, in this order:

admin/
api/v1/ <int:pk>/
api/v1/
api-auth/
api/v1/rest-auth ^password/reset/$ [name='rest_password_reset']
api/v1/rest-auth ^password/reset/confirm/$ [name='rest_password_reset_confirm']
api/v1/rest-auth ^login/$ [name='rest_login']
api/v1/rest-auth ^logout/$ [name='rest_logout']
api/v1/rest-auth ^user/$ [name='rest_user_details']
api/v1/rest-auth ^password/change/$ [name='rest_password_change']
The current path, api/v1/rest-auth/login/, didn't match any of these.

settings.py内容

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

    # 3rd Party
    'rest_framework',
    'rest_framework.authtoken',
    'rest_auth',

    # Apps
    'posts.apps.PostsConfig',
]

下面是我urls.py

的内容
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/v1/', include('posts.urls')),
    path('api-auth/', include('rest_framework.urls')),
    path('api/v1/rest-auth', include('rest_auth.urls')),
]

我想不通,代码有什么问题。

在您的 urls.py 中,您需要为 api/v1/rest-auth/login/ 实施 url。

找到原因,只是路径中缺少一个“/”。现在它工作正常。 路径('api/v1/rest-auth/',包括('rest_auth.urls'))

你的问题就在这里。

path('api/v1/rest-auth', include('rest_auth.urls')),

您需要像这样在 URL 字符串的末尾添加一个 / -

path('api/v1/rest-auth/', include('rest_auth.urls')),