为什么我会得到这个ImportError"没有名为router"的模块什么时候它在这里?

时间:2017-01-24 03:40:22

标签: python django

当我尝试运行Django服务器时,我遇到了这个错误:

  

ImportError"没有名为router"

的模块

我对导入没有任何问题,我确定这个问题仅在我尝试使用路由器时才会出现;我的views.py中的viewsets工作正常,这意味着已成功导入视图集并安装了restframework。谢谢!

from django.conf.urls import url, include
from django.contrib import admin
from rest_framework.routers import SimpleRouter


router = SimpleRouter()

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
    url(r'^api/v2/', include('router.urls')),
]

1 个答案:

答案 0 :(得分:3)

django rest framework官方文档说这个关于导入模块。在此处阅读更多内容:http://www.django-rest-framework.org/

from rest_framework import routers

router = routers.SimpleRouter()

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
    url(r'^api/v2/', include(router.urls)),
]

由于您使用'router.urls'作为字符串。 Django可能正在寻找一个名为router的模块,它无法找到。因为我们还没有导入router模块。我们导入了SimpleRouter类。

router是您使用router = SimpleRouter()

创建的对象

我希望你理解你的错误。详细了解导入路由器并在此处使用它们:http://www.django-rest-framework.org/api-guide/routers/