Giter Site home page Giter Site logo

aaxelb / graphene-django Goto Github PK

View Code? Open in Web Editor NEW

This project forked from graphql-python/graphene-django

0.0 2.0 1.0 252 KB

Graphene Django integration

Home Page: http://docs.graphene-python.org/projects/django/en/latest/

Shell 0.26% Python 97.23% HTML 2.51%

graphene-django's Introduction

Please read UPGRADE-v1.0.md to learn how to upgrade to Graphene 1.0.


Graphene Logo Graphene-Django Build Status PyPI version Coverage Status

A Django integration for Graphene.

Installation

For instaling graphene, just run this command in your shell

pip install "graphene-django>=1.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:

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

graphene-django's People

Contributors

aaxelb avatar arianon avatar bossgrand avatar chriscauley avatar dotsbb avatar dukebody avatar dvdmgl avatar ecbakosl avatar edmorley avatar fak3 avatar horizonxp avatar joslarson avatar khankuan avatar kyeongmincho avatar michalochman avatar momamene avatar morgante avatar nickhudkins avatar patrick91 avatar patrickhsanders avatar pizzapanther avatar samdroid-apps avatar stegben avatar syrusakbary avatar tangerilli avatar tguillemot avatar thatneat avatar timothyjlaurent avatar tritlo avatar txumari avatar

Watchers

 avatar  avatar

Forkers

cos-forks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.