graphene-django

Integrate GraphQL into your Django project.

Github stars Tracking Chart

Please read UPGRADE-v2.0.md to learn how to upgrade to Graphene 2.0.


Graphene Logo Graphene-Django

A Django integration for Graphene.

travis
pypi
Anaconda-Server Badge
coveralls

Documentation

Visit the documentation to get started!

Quickstart

For installing graphene, just run this command in your shell

pip install "graphene-django>=2.0"

Settings

INSTALLED_APPS = (
    # ...
    'django.contrib.staticfiles', # Required for GraphiQL
    'graphene_django',
)

GRAPHENE = {
    'SCHEMA': 'app.schema.schema' # Where your Graphene schema lives
}

Urls

We need to set up a GraphQL endpoint in our Django app, so we can serve the queries.

from django.urls import path
from graphene_django.views import GraphQLView

urlpatterns = [
    # ...
    path('graphql', GraphQLView.as_view(graphiql=True)),
]

Examples

Here is a simple Django model:

from django.db import models

class UserModel(models.Model):
    name = models.CharField(max_length=100)
    last_name = models.CharField(max_length=100)

To create a GraphQL schema for it you simply have to write the following:

from graphene_django import DjangoObjectType
import graphene

class User(DjangoObjectType):
    class Meta:
        model = UserModel

class Query(graphene.ObjectType):
    users = graphene.List(User)

    def resolve_users(self, info):
        return UserModel.objects.all()

schema = graphene.Schema(query=Query)

Then you can simply query the schema:

query = '''
    query {
      users {
        name,
        lastName
      }
    }
'''
result = schema.execute(query)

To learn more check out the following examples:

Contributing

See CONTRIBUTING.md

Release Notes

Main metrics

Overview
Name With Ownergraphql-python/graphene-django
Primary LanguagePython
Program languageShell (Language Count: 5)
Platform
License:MIT License
所有者活动
Created At2016-09-17 23:26:25
Pushed At2025-06-23 14:01:35
Last Commit At2024-02-08 10:50:13
Release Count54
Last Release Namev3.2.3 (Posted on )
First Release Namev1.1.0 (Posted on )
用户参与
Stargazers Count4.4k
Watchers Count69
Fork Count765
Commits Count1k
Has Issues Enabled
Issues Count826
Issue Open Count144
Pull Requests Count482
Pull Requests Open Count16
Pull Requests Close Count143
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private