Example Django DRF codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld API spec.
This repo is functionality complete — PR's and issues welcome!
- Clone this repository:
git clone [email protected]:gothinkster/productionready-django-api.git
. cd
intoconduit-django
:cd productionready-django-api
.- Install pyenv.
- Install pyenv-virtualenv.
- Install Python 3.5.2:
pyenv install 3.5.2
. - Create a new virtualenv called
productionready
:pyenv virtualenv 3.5.2 productionready
. - Set the local virtualenv to
productionready
:pyenv local productionready
. - Reload the
pyenv
environment:pyenv rehash
.
If all went well then your command line prompt should now start with (productionready)
.
If your command line prompt does not start with (productionready)
at this point, try running pyenv activate productionready
or cd ../productionready-django-api
.
If pyenv is still not working, visit us in the Thinkster Slack channel so we can help you out.
python manage.py makemigrations
python manage.py migrate
python manage.py runserver 0.0.0.0:8000
However, there aren’t any users for our Django DRF application. In order to create admin user, we need to access our container to run the createuser command then enter the promoted credentials:
python manage.py createsuperuser
If you don't have yet a running docker installation, install first docker with
sudo apt-get install docker.io
Fetch the repository from docker
docker pull realworldio/django-drf
Create a folder to mount the source code of the app
mkdir ~/django_drf_project
Run the DJango DRF app via Docker container
docker run -d -p 8080:8000 -v ~/django_drf_project:/drf_src --name django_drf_app realworldio/django-drf
However, there aren’t any users for our Django DRF application. In order to create admin user, we need to access our container to run the createuser command:
docker exec -it django_drf_app /bin/bash
To add an admin user, you need to run the following code in your container then enter the promoted credentials:
python manage.py createsuperuser
Afterwards, exit the Docker container running the exit
command.