Django 需要向GraphQLView提供架构
我遵循了将Graphql与Django集成的教程,当我在本地机器上点击Graphql URL时,我按照该教程做了所有事情 我得到以下错误 位于/graphql的断言错误 需要向GraphQLView提供架构 请求方法:获取 请求URL: Django版本:1.11.1 异常类型:AssertionError 异常值: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
需要向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年前提出和回答的。回答时一定要看原始问题的日期。请阅读。