The Wayback Machine - https://web.archive.org/web/20190322172718/https://github.com/graphql-python/graphene-django
Skip to content
Please note that GitHub no longer supports Internet Explorer.

We recommend upgrading to the latest Microsoft Edge, Google Chrome, or Firefox.

Learn more
Graphene Django integration http://docs.graphene-python.org/proje…
Branch: master
Clone or download
adamchainz and jkimbo Always use HTTPS for CDN files (#498)
* Always use HTTPS for CDN files

There's no point using insecure, deprecated HTTP even if the current page is on HTTP.

* add integrity and crossorigin attributes
Latest commit ea2cd98 Mar 19, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin Isolated Graphene Django in a new package Sep 17, 2016
docs Fix code errors in form-mutations.rst (#499) Mar 19, 2019
examples Updated ingredients/schema.py and recipes/schema.py to be more readable. Oct 18, 2018
graphene_django Always use HTTPS for CDN files (#498) Mar 19, 2019
.coveragerc
.gitignore Clean up Mar 6, 2017
.travis.yml
LICENSE add license to repo May 25, 2018
MANIFEST.in
README.md Document that staticfiles is now a dependency. Aug 30, 2018
README.rst Update README.rst Nov 29, 2017
django_test_settings.py added ModelSerializer tests Nov 13, 2017
pytest.ini create pytest.ini to contain DJANGO_SETTINGS_MODULE Nov 16, 2016
setup.cfg
setup.py

README.md

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


Graphene Logo Graphene-Django Build Status PyPI version Coverage Status

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 = (
    # ...
    '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.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)

    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

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
You can’t perform that action at this time.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.