(Django) include не импортирует урлы других приложений

В моем проекте Django есть 2 приложения: core и books. В моем core/urls.py я использую python include('books.url') для импорта урлов из books/urls.py, но я продолжаю получать эту ошибку

enter image description here

У меня возникла эта проблема, которая не дает мне покоя. У меня было обходное решение, но я очень хочу исправить это.

core/urls.py

from django.contrib import admin
from django.urls import path
from django.conf.urls import include
# local

urlpatterns = [
    path('/', include('books.urls')),
    path('admin/', admin.site.urls),
]

books/urls.py

from django.contrib import admin
from django.urls import path
# local
from graphene_django.views import GraphQLView
from books.schema import schema

urlpatterns = [
    path('graphql/', GraphQLView.as_view(graphiql=True, schema=schema)), 
]

По предложению SO, у меня есть:

  1. put books.urls inside the single quotes ' '
  2. placed the path('/', include('books.urls')) on top
  3. switch from from django.urls import include to from django.conf.urls import include

Единственный обходной путь, который у меня есть, это поместить все урлы в core/urls.py, но это кажется слишком громоздким в долгосрочной перспективе. Я не понимаю, почему include работает для всех, но не для меня!

Не могли бы вы помочь мне с этой проблемой? Спасибо!

Сейчас GraphQLView вызывается с URL 127.0.0.1:8000/graphql/, если вы хотите вызвать его с URL 127.0.0.1:8000/, вам нужно изменить ваш код.

core/urls.py

from django.contrib import admin
from django.urls import path
from django.conf.urls import include
# local

urlpatterns = [
    path('/', include('books.urls')),
    path('admin/', admin.site.urls),
]

books/urls.py

from django.contrib import admin
from django.urls import path
# local
from graphene_django.views import GraphQLView
from books.schema import schema

urlpatterns = [
    path('/', GraphQLView.as_view(graphiql=True, schema=schema)), 
]
Вернуться на верх