2019-04-26 18:48:37 +03:00
|
|
|
Installation
|
|
|
|
============
|
|
|
|
|
|
|
|
Graphene-Django takes a few seconds to install and set up.
|
|
|
|
|
|
|
|
Requirements
|
|
|
|
------------
|
|
|
|
|
|
|
|
Graphene-Django currently supports the following versions of Django:
|
|
|
|
|
|
|
|
* Django 2.X
|
|
|
|
|
|
|
|
Installation
|
|
|
|
------------
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
|
|
|
pip install graphene-django
|
|
|
|
|
|
|
|
**We strongly recommend pinning against a specific version of Graphene-Django because new versions could introduce breaking changes to your project.**
|
|
|
|
|
|
|
|
Add ``graphene_django`` to the ``INSTALLED_APPS`` in the ``settings.py`` file of your Django project:
|
|
|
|
|
|
|
|
.. code:: python
|
|
|
|
|
|
|
|
INSTALLED_APPS = [
|
|
|
|
...
|
|
|
|
'django.contrib.staticfiles', # Required for GraphiQL
|
|
|
|
'graphene_django'
|
|
|
|
]
|
|
|
|
|
|
|
|
|
2019-05-13 10:01:44 +03:00
|
|
|
We need to add a ``graphql`` URL to the ``urls.py`` of your Django project:
|
2019-04-26 18:48:37 +03:00
|
|
|
|
|
|
|
.. code:: python
|
|
|
|
|
2019-05-13 10:01:44 +03:00
|
|
|
from django.urls import path
|
2019-04-26 18:48:37 +03:00
|
|
|
from graphene_django.views import GraphQLView
|
|
|
|
|
|
|
|
urlpatterns = [
|
|
|
|
# ...
|
2019-05-13 10:01:44 +03:00
|
|
|
path("graphql", GraphQLView.as_view(graphiql=True)),
|
2019-04-26 18:48:37 +03:00
|
|
|
]
|
|
|
|
|
|
|
|
(Change ``graphiql=True`` to ``graphiql=False`` if you do not want to use the GraphiQL API browser.)
|
|
|
|
|
|
|
|
Finally, define the schema location for Graphene in the ``settings.py`` file of your Django project:
|
|
|
|
|
|
|
|
.. code:: python
|
|
|
|
|
|
|
|
GRAPHENE = {
|
|
|
|
'SCHEMA': 'django_root.schema.schema'
|
|
|
|
}
|
|
|
|
|
|
|
|
Where ``path.schema.schema`` is the location of the ``Schema`` object in your Django project.
|
|
|
|
|
|
|
|
The most basic ``schema.py`` looks like this:
|
|
|
|
|
|
|
|
.. code:: python
|
|
|
|
|
|
|
|
import graphene
|
|
|
|
|
|
|
|
class Query(graphene.ObjectType):
|
|
|
|
pass
|
|
|
|
|
|
|
|
schema = graphene.Schema(query=Query)
|
|
|
|
|
|
|
|
|
|
|
|
To learn how to extend the schema object for your project, read the basic tutorial.
|