簡體   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