我正在按照本教程将Graphql与Django集成,当我在本地计算机上访问graphql URL时,我根据该教程做了一切
我发现以下错误
/ graphql中的AssertionError
需要向GraphQLView提供架构.
请求方法:GET请求URL: http:// localhost:8000/graphql
Django版本:1.11.1异常类型:AssertionError异常值:
需要向GraphQLView提供Schema.异常位置:/home/psingh/Projects/django_graphql/env/local/lib/python2.7/site-packages/graphene_django/views.py in init,第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-dadload','/ 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-package']服务器时间:2017年5月12日星期五12:18:31 +0000
在settings.py中
GRAPHENE = {
'SCHEMA': 'project.schema.schema'
Run Code Online (Sandbox Code Playgroud)
}
project> 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)
Run Code Online (Sandbox Code Playgroud)
应用> schema.py
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()
Run Code Online (Sandbox Code Playgroud)
project_urls.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')),
]
Run Code Online (Sandbox Code Playgroud)
任何帮助都会很棒.我是编码新手.提前致谢.
如果您不想在其中添加GRAPHENE变量,settings.py则可以scheme在GraphQLView.as_view()方法调用中传递参数
from onlineshop_project.scheme import schema
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^graphql', GraphQLView.as_view(graphiql=True, schema=schema)),
]
Run Code Online (Sandbox Code Playgroud)
您可以查看文档。
| 归档时间: |
|
| 查看次数: |
1632 次 |
| 最近记录: |