Как исправить эту ошибку Не удалось импортировать тестовый модуль во время тестирования?

Здесь я пишу TestCase для некоторого набора запросов для просмотра в api и получаю ошибку Not a valid function or pattern name. Я не понял, что здесь не хватает! Есть ли какое-нибудь решение для этого?

views.py

class  StudentView(generics.ListAPIView):
queryset = StudentDetails.objects.raw('SELECT * FROM 
           collegedetails.college_studentdetails LIMIT 3;')
serializer_class = StudentDetailsSerializers

test_views.py

from rest_framework.test import APITestCase
from rest_framework.reverse import reverse
from rest_framework import status

STUDENT_URL = reverse('student/')
class StudentsDetailsTest(APITestCase):
def test_details(self):
    response = self.client.get(STUDENT_URL, format='json')
    self.assertEqual(response.status_code, status.HTTP_200_OK)

college/urls.py

urlpatterns=[

        path('student/',views.StudentView.as_view(), name='student'),
]

ошибка возврата

Found 1 test(s).
System check identified no issues (0 silenced).
E
======================================================================
ERROR: college.tests (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: college.tests
Traceback (most recent call last):
  File "C:\Users\\AppData\Local\Programs\Python\Python39\lib\unittest\loader.py", line 436, in _find_test_path
    module = self._get_module_from_name(name)
  File "C:\Users\\AppData\Local\Programs\Python\Python39\lib\unittest\loader.py", line 377, in _get_module_from_name
    __import__(name)
  File "C:\Users\\collegedjango\MYSITE\college\tests.py", line 33, in 
<module>
    STUDENT_URL = reverse('student')
  File "C:\Users\\collegedjango\venv\lib\site- 
packages\rest_framework\reverse.py", line 47, in reverse
    url = _reverse(viewname, args, kwargs, request, format, **extra)
  File "C:\Users\\collegedjango\venv\lib\site- 
packages\rest_framework\reverse.py", line 60, in _reverse
    url = django_reverse(viewname, args=args, kwargs=kwargs, **extra)
  File "C:\Users\\collegedjango\venv\lib\site- 
packages\django\urls\base.py", line 86, in reverse
    return resolver._reverse_with_prefix(view, prefix, *args, **kwargs)
  File "C:\Users\\collegedjango\venv\lib\site- 
packages\django\urls\resolvers.py", line 729, in _reverse_with_prefix
    raise NoReverseMatch(msg)
django.urls.exceptions.NoReverseMatch: Reverse for 'student' not found. 
 'student' is not a valid view function or pattern name.


----------------------------------------------------------------------
Ran 1 test in 0.000s

FAILED (errors=1)

Вы использовали app_name = 'student_api', это означает, что вы должны префикс имени представления с этим app_name, так:

STUDENT_URL = reverse('student_api:student')

Кроме того, вам следует убрать косую черту в конце: reverse использует имя представления (с префиксом app_name или namespace, если вы его определили), а не шаблон пути.

Вернуться на верх