#django #url #include
Вопрос:
В моем проекте Django у меня есть 2 приложения: ядро и книги. В моем core/urls.py, я использую python include('books.url')
для импорта 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, у меня есть:
- положите книги.URL-адреса внутри одинарных кавычек ‘ ‘
- поместил
path('/', include('books.urls'))
сверху - переключиться с
from django.urls import include
наfrom django.conf.urls import include
Единственный обходной путь, который у меня есть, — это поместить все URL-адреса в core/urls.py, но в долгосрочной перспективе это кажется слишком громоздким. Я не понимаю, почему include
это работает для всех, но не для меня!
Не могли бы вы помочь мне с этим вопросом? Спасибо!
Ответ №1:
Теперь 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)), ]