繁体   English   中英

如何修复错误测试身份验证用户?

[英]How to fix error testing Authentication user?

我正在学习 Drf,我正在弄清楚 Drf 中的 Athuenticate 用户登录 Testapi,它显示错误 Not valid view function 或模式名称。 任何人都可以建议代码有什么问题吗?

URLS.PY

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('college.urls')),
    path('auth',include('rest_framework.urls'), name='rest_framework'),


]

测试.PY

USER_URL = reverse('auth')
class StudentsDetailsTestCase(APITestCase):

    def test_login_user(self):
        self.assertTrue(self.client.login(username='***', 
                        password='***'))
        response = self.client.get(USER_URL)
        self.assertEqual(response.status_code,status.HTTP_200_OK)

回溯错误

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 35, in <module>
    USER_URL = reverse('auth')
  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 'auth' not found. 'auth' is not a valid view function or pattern name.


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

FAILED (errors=1)

您需要将它与rest_framework一起使用,因为这条线path('auth',include('rest_framework.urls'), name='rest_framework'),

您可以通过reverse(rest_framework)更新反向,也可以将行更改为path('auth',include('rest_framework.urls'), name='auth'),

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM