はじめに
DjangoとGrapheneを利用してGraphQLの環境を構築する。DBはsqlliteを利用する。 docs.graphene-python.org
公式ドキュメントのインストール手順を踏んでやっているが、エラーが出たので、エラーの解消はまた次回とする
ライブラリのインストール
pip install graphene-django pip install graphene
プロジェクトフォルダのsettings.pyの設置
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', #GraphiQLに必要 'graphene_django', # こちらを追加する '<アプリケーション>' ]
GRAPHENE = { 'SCHEMA': 'hogeproject.schema.schema' }
エンドポイントの追加
- Djangoプロジェクトのurls.pyにgraphql URLを追加する必要があります。
from django.contrib import admin from django.urls import path, include from django.views.decorators.csrf import csrf_exempt from graphene_django.views import GraphQLView urlpatterns = [ path('admin/', admin.site.urls), path('', include('boardapp.urls')), path("graphql/", csrf_exempt(GraphQLView.as_view(graphiql=True))), ]
プロジェクトに schema.pyを作成
import graphene import cookbook.ingredients.schema class Query(cookbook.ingredients.schema.Query, graphene.ObjectType): # This class will inherit from multiple Queries # as we begin to add more apps to our project pass schema = graphene.Schema(query=Query)
上記の状態で動作させる
Could not import 'boardproject.schema.schema' for Graphene setting 'SCHEMA'. ModuleNotFoundError: No module named 'boardapp.schema'.
のエラーメッセージが表示される
解決方法
- 下記に記載されている内容で試してみる stackoverflow.com