当前位置:  开发笔记 > 编程语言 > 正文

Django Rest框架authtoken'模块'对象没有属性'views'

如何解决《DjangoRest框架authtoken'模块'对象没有属性'views'》经验,为你挑选了1个好方法。

我正在学习Django和Django REST框架.之前我有这个错误并修复它.现在,这个问题又重新出现了.

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

'module'对象没有属性'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[0-9]+)/$', views.GameDetail.as_view()),
    url(r'^users/$', views.UserList.as_view()),
    url(r'^users/(?P[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.令人讨厌的是,这个工作正常,直到我重新启动manage.py runserver.



1> masnun..:

它不起作用的原因 - authtoken是一个包 - 当你导入它时,它不包含你想要的东西 -

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

你可以看到它authtoken不包含任何有用的东西.但是,您感兴趣的视图实际上是在views模块内部.

所以我们可以先将导入更改为:

from rest_framework.authtoken import views as authviews

然后在urlconf中使用它:

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

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有