Graphene Django integration
Project description
Please read UPGRADE-v2.0.md to learn how to upgrade to Graphene 2.0.
Graphene-Django
A Django integration for Graphene.
Installation
For installing graphene, just run this command in your shell
pip install "graphene-django>=2.0"
Settings
INSTALLED_APPS = (
# ...
'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.conf.urls import url
from graphene_django.views import GraphQLView
urlpatterns = [
# ...
url(r'^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)
@graphene.resolve_only_args
def resolve_users(self):
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:
Schema with Filtering: Cookbook example
Relay Schema: Starwars Relay example
Contributing
After cloning this repo, ensure dependencies are installed by running:
pip install -e ".[test]"
After developing, the full test suite can be evaluated by running:
py.test graphene_django --cov=graphene_django # Use -v -s for verbose mode
Documentation
The documentation is generated using the excellent Sphinx and a custom theme.
The documentation dependencies are installed by running:
cd docs
pip install -r requirements.txt
Then to produce a HTML version of the documentation:
make html
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file graphene-django-2.1rc0.tar.gz
.
File metadata
- Download URL: graphene-django-2.1rc0.tar.gz
- Upload date:
- Size: 41.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10209918bdd80f786d02ffcacb76cbf423d0e501656d2ac3e72c2f1cef260a25 |
|
MD5 | f62fc140f5f2bb3c35f325c609cc2b66 |
|
BLAKE2b-256 | 4d3e265bd4182e7b472afcfa73c1b7419cd38880f486ea42f6f95bf5c900b0c8 |
Provenance
File details
Details for the file graphene_django-2.1rc0-py2.py3-none-any.whl
.
File metadata
- Download URL: graphene_django-2.1rc0-py2.py3-none-any.whl
- Upload date:
- Size: 57.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f146424fcb34d1fe2210ecd1d5b43a68ae52a5609b4a5042c2a27a2631b1502 |
|
MD5 | 241b7a211e4c81520a2cdaa99951c876 |
|
BLAKE2b-256 | ea8ad9f366226a64240950b04bc2f3f128856f7819a1fb92dc3936b81cc33940 |