You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Django中使用graphdoc生成文档时出现的markdown错误

你遇到的报错是因为graphdoc.to_doc()方法接收到的参数不符合要求,你直接从FileUploadGraphQLView实例中获取的schema不是graphdoc可识别的标准GraphQL Schema实例,大概率是视图初始化时schema还未完成绑定,或者取值方式有误,可按照以下步骤排查解决:

  • 优先直接导入你项目中定义好的Schema实例,不要通过视图实例获取,示例代码如下:
# 假设你的schema在项目schema.py文件中定义,格式类似:
# import graphene
# schema = graphene.Schema(query=Query, mutation=Mutation)
from .schema import schema
import graphdoc
from django.http import HttpResponse

# 视图内的返回逻辑
return HttpResponse(
    graphdoc.to_doc(schema),
    content_type='text/html'
)
  • 如果必须从视图中获取schema,先确认你的FileUploadGraphQLView类已经提前绑定了schema属性:
from graphene_django.views import GraphQLView
from .schema import schema

class FileUploadGraphQLView(GraphQLView):
    schema = schema # 提前绑定schema
    # 其余你的自定义配置,比如文件上传相关逻辑
  • 如果上述操作后仍报错,可先手动执行GraphQL内省查询生成符合要求的Schema对象再传入:
from graphql import get_introspection_query, build_client_schema
from .schema import schema
import graphdoc

# 生成内省结果
introspection_res = schema.execute(get_introspection_query()).data
client_schema = build_client_schema(introspection_res)

return HttpResponse(
    graphdoc.to_doc(client_schema),
    content_type='text/html'
)
  • 检查版本兼容性:如果使用的是graphene 3.x版本,请安装graphdoc>=0.3.0;如果使用graphene 2.x版本,请安装graphdoc==0.2.2,版本不兼容也会触发类型错误。

内容的提问来源于stack exchange,提问作者smrf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 07:15:00