johnjameswhitman / django_demo

Demo of a Django Rest Framework API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

django_demo

Demo of a Django Rest Framework API. This is mostly based on the DRF quickstart, drf_spectacular and openapi-generator-cli.

Quickstart

  • Set up env (use a venv and at least python 3.8 if you can):

    cd /path/to/repo/root
    python -m pip install -r requirements.in
    python tutorial/manage.py migrate
  • Seed an admin user with the password Pass1234:

    python tutorial/manage.py createsuperuser --email admin@example.com --username admin
  • Generate schema

    tutorial/manage.py spectacular --file schema.yml
    mv schema.yml client/
  • (Optional) Generate client after making any changes to serializers and views.

    docker run \
        --rm \
        -v "$PWD:/local" \
        openapitools/openapi-generator-cli:v6.0.0 \
        generate \
        -i /local/client/schema.yml \
        -g python \
        -o /local/client/python
  • Install client

    python -m pip install -e client/python
  • Start the API:

    python tutorial/manage.py runserver 0.0.0.0:5001
  • Run demo that adds a new group

    python demo.py

About

Demo of a Django Rest Framework API


Languages

Language:Python 99.2%Language:Shell 0.5%Language:HTML 0.2%Language:Nix 0.0%