Demo of a Django Rest Framework API. This is mostly based on the DRF
quickstart, drf_spectacular
and openapi-generator-cli
.
-
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 [email protected] --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