Django.urls.exceptions.NoReverseMatch: 'users' не является зарегистрированным пространством имен внутри 'v1'
#главный url
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('api/v1/', include('users.api.urls',namespace='v1')),
]
#app url
from django.urls import path
from .views import ExampleView
app_name='users'
urlpatterns=[
path("", ExampleView.as_view(), name='home')
]
app view
from rest_framework.views import Response, APIView
class ExampleView(APIView):
def get(self, request):
return Response({"message": "hello world"})
тестовое приложение
from django.urls import reverse
from rest_framework.test import APISimpleTestCase
class TestUser(APISimpleTestCase):
def setUp(self):
self.path1 = reverse('v1:users:home')
def test_user_path(self):
print(self.path1)
что не так с этим кодом? почему он возвращает django.urls.exceptions.NoReverseMatch: 'users' is not a registered namespace inside 'v1'
Попробуйте следующее:
reverse('v1:home')
Вы уже изменили пространство имен users
на v1
. Поскольку пользователи не являются именем пути URL в app's urls.py
, вы получаете ошибку.