The aim if this tutorial is to show how to create a production ready solution for a REST API, using Python and Django Rest Framework. I will show you how to first create a very basic API, how to handle the authentication and permissions and I will cover deployment and hosting of images. The full source code of the tutorial is available at: https://github.com/andreagrandi/drf-tutorial
Summary of the complete tutorial
- Create the basic structure for the API
- Add Authentication and POST methods
- Handling details and changes to existing data
- Testing the API
- Switching from Sqlite to PostgreSQL
- Hosting the API on Heroku
- Add an Image field and save images to S3
Create the basic structure for the API
For this tutorial I will assume you have correctly installed at least Python (I will use Python 2.7.x), virtualenv and virtualenvwrapper on your system and I will explain how to create everything else step by step.
Note: at the time of writing, the tutorial has been based on Django 1.10.1 and Django Rest Framework 3.4.7
Creating the main project structure
mkdir drf-tutorial
mkvirtualenv drf-tutorial
cd drf-tutorial
pip install django djangorestframework
django-admin.py startproject drftutorial .
cd drftutorial
django-admin.py startapp catalog
Data Model
We will create the API for a generic products catalog, using a very simple structure (to keep things simple). Edit the file catalog/models.py adding these lines:
from __future__ import unicode_literals
from django.db import models
class Product(models.Model):
name = models.CharField(max_length=255)
description = models.TextField()
price = models.DecimalField(decimal_places=2, max_digits=20)
You can find the rest of the tutorial on my blog https://www.andreagrandi.it/2016/09/28/creating-production-ready-api-python-django-rest-framework-part-1/
Top comments (0)