Graphene Django integration
Project description
You are in the next unreleased version of Graphene-Django (1.0.dev). Please read UPGRADE-v1.0.md to learn how to upgrade.
Graphene-Django
A Django integration for Graphene.
Installation
For instaling graphene, just run this command in your shell
pip install "graphene-django>=1.0.dev"
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
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:
python setup.py install
After developing, the full test suite can be evaluated by running:
python setup.py test # Use --pytest-args="-v -s" for verbose mode
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
File details
Details for the file graphene-django-1.0.dev20160919000003.tar.gz
.
File metadata
- Download URL: graphene-django-1.0.dev20160919000003.tar.gz
- Upload date:
- Size: 27.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 732a8afcaf8ce08020cc2e514ec47da686910a5aee913004708d898077c39120 |
|
MD5 | 793db9ddf9e611fc63ea85d554e5cfe0 |
|
BLAKE2b-256 | 1ebf48a8e5ab679d772adce705afe2f393fdb305a74fd3167a5b2723445d532b |