在Django中使用GraphQL
使用GraphQL需要安装django-graphene库,可以通过pip install django-graphene来安装。安装完成后,在Django的settings.py文件中,加入以下代码:
INSTALLED_APPS = [ #... 'graphene_django', ]
接着,需要创建GraphQL的schema,可以在项目的根目录下创建一个schema.py文件,内容如下:
import graphene class Query(graphene.ObjectType): say_hello = graphene.String(name=graphene.String(default_value="Stranger")) def resolve_say_hello(self, info, name): return f'Hello {name}' schema = graphene.Schema(query=Query)
其中,我们定义了一个查询操作say_hello,它会接受一个参数name,返回一个字符串“Hello name”。接着,需要在Django的urls.py文件中,加入以下代码:
from django.views.decorators.csrf import csrf_exempt from graphene_django.views import GraphQLView urlpatterns = [ # ... path('graphql', csrf_exempt(GraphQLView.as_view(graphiql=True))), ]
这样,我们就完成了一个最简单的GraphQL示例,在浏览器中访问http://localhost:8000/graphql,即可进入GraphiQL界面,输入以下查询语句:
query { sayHello(name: "pidancode.com") }
即可得到以下结果:
{ "data": { "sayHello": "Hello pidancode.com" } }
以上就是在Django中使用GraphQL的基本示例,可以根据实际需求对schema进行扩展。
相关文章