mirror of
https://github.com/graphql-python/graphene-django.git
synced 2025-07-13 09:42:32 +03:00
Build powerful, efficient, and flexible GraphQL APIs with seamless Django integration.
This seems like an issue with using assertResponseNoErrors and assertResponseHasErrors Which doesn't include any errors specific to the response and currently just shows. ```python self.assertNotIn("errors", list(content.keys())) AssertionError: 'errors' unexpectedly found in ['errors', 'data'] ``` |
||
---|---|---|
.github | ||
bin | ||
docs | ||
examples | ||
graphene_django | ||
.coveragerc | ||
.gitignore | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
Makefile | ||
MANIFEST.in | ||
pytest.ini | ||
README.md | ||
README.rst | ||
setup.cfg | ||
setup.py | ||
tox.ini |
Graphene-Django
A Django integration for Graphene.
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 query the schema:
query = '''
query {
users {
name,
lastName
}
}
'''
result = schema.execute(query)
To learn more check out the following examples:
- Schema with Filtering: Cookbook example
- Relay Schema: Starwars Relay example
GraphQL testing clients
Contributing
See CONTRIBUTING.md