Building Great Web Backends with Django ( Python )

Sid Azad, Founder at VisionHatch Technologies

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
13 Lessons (2h 49m)
    • 1. Course Introduction and Roadmap

    • 2. Django Basics

    • 3. Building a Hello Notes App - Part 1

    • 4. Building a Hello Notes App - Part 2

    • 5. Templates and Forms

    • 6. Building a Login Form for the Notes App

    • 7. Using the Django ORM and creating Models

    • 8. Django User Authentication

    • 9. Generating forms and saving data via ModelForms

    • 10. Introduction to ModelFormSets

    • 11. Updating and Deleting objects via ModelFormSets

    • 12. REST APIs in Django via TastyPie

    • 13. Django in Production, caching, scaling and other topics


Project Description

Build a Django App for Storing and Editing Notes


  1. Installation

    Install Python 2.7 or Python 2.6.5

Django Basics

  1. Review Python

    Review basic Python

    - Data Structures: lists, dicts

    - Defining functions, classes

Start Building a Django App

  1. Build the Hello Notes App

    Create a Django app called 'notes' inside a Django project 'appsuite' and use a Django Templates in the notes app to return the string "Hello, Notes"

Forms and Templates

  1. Notes app with Django Form

    Extend the Notes app to include a Login Form

Django ORM and Models

  1. Build a Model for a Note

    - Connect to Sqlite3

    - Build a Note Model

    - Use the syncdb command to create the notes_note table

Authentication and User Login/Logout in Django

  1. Accept username and password to sign up and authenticate users
    1. Create a new for LoginForm for user login
    2. Create the view for logging in user
    3. Authenticate and login the user in this view
    4. Create a link on dashboard.html for logging out user
    5. Implement the Logout View to log out the user

Generating forms and saving data via ModelForms

  1. Extend the notes app to save notes in the database
    1. Create a ModelForm to wrap the Note Model

    2. Use the ModelForm to save notes to the database

FormSets and ModelFormSets

  1. Editing and Deleting Notes via ModelFormSets
    1. Change the Notes app to be able to modify and delete multiple notes.
    2. Use ModelFormSets to achieve step 1

Introduction to REST with Django and TastyPie

  1. Create a REST interface to the Note Model using django-tastypie
    1. Install django-tastypie

    2. Create a REST interface to the Note Model using TastyPie

Security, Caching and other features

  1. Use Template Inheritance and widget customization

    - Use template inheritance to give the website a header and a footer

    - Change Text Input to Textarea to display the text for a Note

Additional Resources