0

我成功地将 graphene 和 graphene-django 安装到我的项目中,并且能够在我的本地环境中使用 GraphiQL 界面进行查询。

当我将我的应用程序部署到生产环境并访问 GraphQL 端点时,GraphiQL 界面无法正常工作,并在输出部分显示我的 base.html 的内容。“文档”也不会加载任何内容。

在实时应用程序上输出 graphiql

生产配置中一定有一些东西干扰了 GraphQL,但我还不能确定它。

任何想法,将不胜感激!

4

1 回答 1

1

我发现 Django 给出了 CSRF 验证失败,这就是问题所在。

更新 GraphQL url 端点以包含 csrf_exempt 解决了该问题。

urls.py 中的原始文件:

url(r'^graphql', GraphQLView.as_view(graphiql=True, schema=schema)),

更新 urls.py:

from django.views.decorators.csrf import csrf_exempt

url(r'^graphql', csrf_exempt(GraphQLView.as_view(graphiql=True, schema=schema))),

来源:https ://github.com/graphql-python/graphene-django/issues/61

于 2017-05-19T15:21:12.947 回答