(Django) include не импортирует урлы других приложений
В моем проекте Django есть 2 приложения: core и books. В моем core/urls.py я использую python include('books.url')
для импорта урлов из books/urls.py, но я продолжаю получать эту ошибку
У меня возникла эта проблема, которая не дает мне покоя. У меня было обходное решение, но я очень хочу исправить это.
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, у меня есть:
- put books.urls inside the single quotes ' '
- placed the
path('/', include('books.urls'))
on top - switch from
from django.urls import include
tofrom 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)),
]