Django-SelfGuide - Part I

October 14, 2019


This series we will learn to do TDD with Django. We will later create a News Platform, following these methodology.


  • Popular web framework of python
  • Build web apps rapidly

Features to be used :

  • Django Object Relational Mapper
    • The ORM provides an easy to use way of converting objects in our api to row in our database. Object (API) -> Row (Db)

    • for eg. create django model for recipe object and ORM will automatically create recipe table for us.

  • Django Admin
    • Out of the box admin site
    • Manage models
    • Visualize Database
  • Django Rest Framework
    • Extension to django
    • Built in Authentication
    • use viewsets to create structure of API and provide all of necessary endpoint for managing objects.
    • Serializers are used to provide validations on all requests to our API and to help convert JSON object to database models.
    • Browsable API
  • Docker
    • Virtualization Tool
    • Provide the mechanism for isolating our projects dependencies from the machine it’s running on.
    • super light weight VM
    • wrap our project and all of it’s dependencies in single image, that can be run on any machine
    • Single Dev environment
    • Used to Deploy to cloud platform
  • Travis CI
    • Automate testing and linting
    • automatically run linting and unit test, everytime we make changes to our code.
    • Integrates well with github.
    • CI Tool
    • We can configure Travis CI to run a script everytime we make changes to our code.
    • We will write a script that will run our unit case and linting tool and if either of this fails then travis CI will notify us that the build is broken via an email.
    • Identify issues early
  • Postgres
    • Production grade db
    • Easy to get up and running using Docker

Next in the series : What is TDD ?

Happy Learning!

Rajiv Jha :)

Rajiv Jha

Rajiv Jha

My name is Rajiv Jha. I am Senior Engineering student at Guru Gobind Singh Indraprastha University.