user7671217
user7671217

Reputation:

django rest framework "ModuleNotFoundError: No module named 'router'"

i have imported all the restframework packages but i don't understand why am i getting this strange error

from django.conf.urls import *
from django.contrib import admin
from django.views.generic.base import TemplateView
from .views import Create,Home,signup,Search,QuestionViewSet
from django.urls import reverse
from .models import Question
from django.contrib.auth import views as auth_views
from rest_framework import  routers
router=routers.DefaultRouter()
router.register(prefix='question1',viewset=QuestionViewSet)
app_name='main'

urlpatterns = [
    # url(r'^/',views.home,name='home'),
    url(r'^home/',Home,name='home'),
    url(r'^ques/',Create.as_view(success_url="/index/home/"),name='ques'),
    url(r'^signup/',signup,name='signup'),
    url(r'^logout/$', auth_views.logout,name='logout'),
    url(r'^search/',Search,name='search'),
    url(r'^api/', include('router.urls'))


    # CreateView.as_view(model=myModel, success_url=reverse('success-url'))

]

this is the issue i'm facing

ModuleNotFoundError: No module named 'router'

any kind of help is appreciated thanks in advance

Upvotes: 1

Views: 2382

Answers (1)

neverwalkaloner
neverwalkaloner

Reputation: 47354

First argument of include method can be module name or pattern list. Since router.urls is patterns list it should be

url(r'^api/', include(router.urls))

instead of

url(r'^api/', include('router.urls')) 

So you need to remove '' signs.

Upvotes: 2

Related Questions