Skip to main content

This is a project to auto generate a graphql crud using graphene django

Project description

Graphene CRUD Maker

This is a project to auto generate a graphql crud using graphene django

Requirements

  • Python >= 3.6
  • Django >= 2.2
  • Graphene Django >= 2.0

Quick start


Installation

pip install graphene-crud-maker

Create a Django project

django-admin startproject core .

Add "graphene_crud_maker" to your INSTALLED_APPS setting like this:

    INSTALLED_APPS = [
        ...
        'myapp',
        'graphene_crud_maker',
        'graphene_django',
    ]

Note: "myapp" is the name of the app

Add GRAPHENE to your settings.py

define the schema location for Graphene in the settings.py file of your Django project:

link: https://docs.graphene-python.org/projects/django/en/latest/

    GRAPHENE = {
        "ATOMIC_MUTATIONS": True,
        'SCHEMA': 'core.schema.schema.schema',
        "SCHEMA_INDENT": 4,
        "MIDDLEWARE": [
            "graphene_django.debug.DjangoDebugMiddleware",
            'graphql_jwt.middleware.JSONWebTokenMiddleware',
        ]
    }

Note name "core" is the name of the project

Add URLS to your urls.py

    from django.conf.urls import url
    from django.views.decorators.csrf import csrf_exempt
    from graphql_jwt.decorators import jwt_cookie
    from graphene_django.views import GraphQLView

    urlpatterns = [
        # ...
        url(r"graphql", csrf_exempt(jwt_cookie(GraphQLView.as_view(graphiql=True)))),
    ]

Create the app

python3 manage.py startapp myapp

Note: create models

Usage

Python

python3 manage.py maker --help

Output

Create Graphene CRUD

optional arguments:
  -h, --help            show this help message and exit
  -n NAME, --name NAME  App name to create the CRUD graphQL
  -e [EXCLUDE ...], --exclude [EXCLUDE ...]
                        Fields to exclude in the CRUD (id, createdAt, updatedAt)

                        ...

Command to create GraphQL

python3 manage.py maker -n myapp

Run the server

python3 manage.py runserver

GraphiQL

http://localhost:8000/graphql

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphene-crud-maker-1.2.0.tar.gz (8.8 kB view hashes)

Uploaded Source

Built Distribution

graphene_crud_maker-1.2.0-py3-none-any.whl (10.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page