Django 需要向GraphQLView提供架构

Django 需要向GraphQLView提供架构,django,graphql,Django,Graphql,我遵循了将Graphql与Django集成的教程,当我在本地机器上点击Graphql URL时,我按照该教程做了所有事情 我得到以下错误 位于/graphql的断言错误 需要向GraphQLView提供架构 请求方法:获取 请求URL: Django版本:1.11.1 异常类型:AssertionError 异常值: 需要向GraphQLView提供架构。 异常位置:/home/psingh/Projects/django_graphql/env/local/lib/python2.7/sit

我遵循了将Graphql与Django集成的教程,当我在本地机器上点击Graphql URL时,我按照该教程做了所有事情

我得到以下错误

位于/graphql的断言错误

需要向GraphQLView提供架构

请求方法:获取 请求URL: Django版本:1.11.1 异常类型:AssertionError 异常值:
需要向GraphQLView提供架构。 异常位置:/home/psingh/Projects/django_graphql/env/local/lib/python2.7/site-packages/graphene_django/views.py ininit第84行 Python可执行文件:/home/psingh/Projects/django_graphql/env/bin/Python Python版本:2.7.6 Python路径:
['/home/psingh/Projects/django_graphql/project', “/home/psingh/Projects/django_graphql/env/lib/python2.7”, “/home/psingh/Projects/django_graphql/env/lib/python2.7/plat-x86_64-linux-gnu”, “/home/psingh/Projects/django_graphql/env/lib/python2.7/lib-tk”, “/home/psingh/Projects/django_graphql/env/lib/python2.7/lib old”, “/home/psingh/Projects/django_graphql/env/lib/python2.7/lib dynload”, “/usr/lib/python2.7”, “/usr/lib/python2.7/plat-x86_64-linux-gnu”, “/usr/lib/python2.7/lib-tk”, “/home/psingh/Projects/django_graphql/env/local/lib/python2.7/site packages”, “/home/psingh/Projects/django_graphql/env/lib/python2.7/site packages'] 服务器时间:2017年5月12日星期五12:18:31+0000

在settings.py中

GRAPHENE = {
'SCHEMA': 'project.schema.schema'
}

项目>schema.py

import graphene
import mainapp.schema 
class Query(mainapp.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)
app>schema.py

import graphene
import mainapp.schema 
class Query(mainapp.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)
import graphene
from graphene_django.types import DjangoObjectType
from cookbook.ingredients.models import Category, Ingredient

class CategoryType(DjangoObjectType):
  class Meta:
     model = Category


 class IngredientType(DjangoObjectType):
   class Meta:
      model = Ingredient


 class Query(graphene.AbstractType):
   all_categories = graphene.List(CategoryType)
   all_ingredients = graphene.List(IngredientType)

   def resolve_all_categories(self, args, context, info):
     return Category.objects.all()

  def resolve_all_ingredients(self, args, context, info):
     # We can easily optimize query count in the resolve method
     return Ingredient.objects.select_related('category').all()
project_url.py

from django.conf.urls import include, url
from django.contrib import admin

from graphene_django.views import GraphQLView
import schema

urlpatterns = [
   url(r'^admin/', admin.site.urls),
   url(r'^graphql', GraphQLView.as_view(graphiql=True)),
   url(r'^', include('mainapp.urls')),    

]
任何帮助都会很好。我对编码是新手。
提前感谢。

您必须将架构添加到
设置.py
中,如图所示:

石墨烯={
“SCHEMA”:“cookbook.SCHEMA.SCHEMA”
}


你需要2个
schema.py
文件,一个在项目的根级别,一个在应用程序文件夹中。

如果你不想在
settings.py
中添加
GRAPHENE
变量,那么你可以在
GraphQLView.as\u view()
方法调用中传递
scheme
参数

   from onlineshop_project.scheme import schema
   urlpatterns = [
       url(r'^admin/', admin.site.urls),
       url(r'^graphql', GraphQLView.as_view(graphiql=True, schema=schema)),
   ]
您可以检查。

您是否在settings.py文件下的已安装应用程序中添加了“graphene\u django”?
检查这里-

我已经添加了GRAPHENE={'SCHEMA':'project.SCHEMA.SCHEMA'}我已经用所有必需的代码编辑了这个问题。你的答案似乎与公认的答案没有什么不同。此外,这个问题是3年前提出和回答的。回答时一定要看原始问题的日期。请阅读。