django URL-адреса -rest-auth не найдены - PullRequest
0 голосов
/ 21 июня 2020

Я пытаюсь реализовать 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 content

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',
]

Ниже приведено содержимое моих URL-адресов. 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')),
]

Я не могу понять, что не так с кодом.

Ответы [ 3 ]

1 голос
/ 21 июня 2020

Ваша проблема здесь.

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

Вам нужно добавить / в конце строки URL-адреса, например:

path('api/v1/rest-auth/', include('rest_auth.urls')),
0 голосов
/ 21 июня 2020

нашел причину, просто отсутствовал "/" в пути. Теперь все работает нормально. путь ('api / v1 / rest-auth /', include ('rest_auth.urls'))

0 голосов
/ 21 июня 2020

В вашем urls.py вам необходимо реализовать URL-адрес для api/v1/rest-auth/login/.

...