GraphiQL在本地工作,但在生产中输出显示来自base.html(Django项目)的内容

时间:2017-05-19 13:54:14

标签: django graphql graphene-python

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

当我将我的应用程序部署到生产并访问GraphQL端点时,GraphiQL接口无法正常工作,并在输出部分显示了我的base.html的内容。 " Docs"也不会加载任何东西。

output of graphiql on live app

生产配置中必须存在干扰GraphQL的内容,但我还没能将其固定下来。

任何想法都将不胜感激!

1 个答案:

答案 0 :(得分:1)

我发现Django正在进行CSRF验证失败,这导致了问题。

更新GraphQL网址以包含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