Django Rest framework authtoken“module”对象没有属性“views”

2024-06-01 21:27:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习Django和Django REST框架。我以前有过这个错误并修正了它。现在,这个问题又出现了。在

这是我在尝试获取身份验证令牌时遇到的错误:

'module' object has no attribute 'views'

这是我的urls.py

from django.conf.urls import include, url
import rest_framework
from rest_framework import authtoken
from . import views

urlpatterns = [
    url(r'^games/$', views.GameList.as_view()),
    url(r'^games/(?P<pk>[0-9]+)/$', views.GameDetail.as_view()),
    url(r'^users/$', views.UserList.as_view()),
    url(r'^users/(?P<pk>[0-9]+)/$', views.UserDetail.as_view()),
    url(r'^api-token-auth/', authtoken.views.obtain_auth_token),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
]

不知怎的,它找不到authtoken.views。{cd3>重新启动之前,{cd3}没问题。在


Tags: djangofromimportauthviewresturlinclude
2条回答

我也面临同样的错误,但我意识到下面的事情。在

您需要将rest_framework.authtoken添加到INSTALLED_APPS中, 别忘了python manage.py migrate

它不能工作的原因-^{}是一个包-当您导入它时,它不包含您想要的-

>>> from rest_framework import authtoken
>>> dir(authtoken)
['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__']

您可以看到authtoken不包含任何有用的内容。但是您感兴趣的视图实际上位于^{}模块中。在

因此,我们可以先将导入更改为:

^{pr2}$

然后在urlconf中使用它:

url(r'^api-token-auth/', authviews.obtain_auth_token),

相关问题 更多 >