Course Outline

  • Django Overview
    • Django is a framework
    • Frameworks VS Packages
    • What can it do?
    • What are the alternatives?
  • Getting Started with Django
    • Sites and Apps
    • Shared Configuration
    • Minimal Django layout
    • Built-in Flexibility
  • Using Cookiecutter
    • Why Cookiecutter?
    • Cookiecutter Features
    • Creating a project
    • Creating an app
    • Customizing Cookiecutter
  • Creating models with Django ORM
    • Defining Models
    • Related Objects
    • SQL Migration
    • App Configuration
    • Accessing Models
  • Login for Nothing and Admin for Free
    • Setting up the admin user
    • Running the admin site
    • Tweaking the admin interface
    • Changing the admin index page
  • Basic Views (AKA Controllers)
    • What is a view?
    • Http Response
    • URL Route Configuration
    • Shortcut: get_object_or_404()
  • Working with Templates
    • About templates
    • Django template syntax
    • Static files
    • Loading templates
    • The URL tag
    • Shortcut: template.render()
  • Querying the Models
    • Query Sets
    • Field lookups
    • Chaining filters
    • Slicing Query Sets
    • Related Fields
    • Q objects
  • Enhancing Models
    • Custom Methods
    • Complex Relationships
    • Overriding Standard Methods
  • Forms
    • Forms Overview
    • GET and POST
    • The Form Class
    • Processing the form
    • Widgets
    • Validation
    • Forms in templates
    • Beyond the basics
  • Debugging
    • Printing to the console
    • Django debug page
    • Reading Django logs
    • Django debug toolbar
  • Class-based Views
    • About Generic Views
    • Types of Generic Views
    • Default Generic Views
    • Class-based Generic Views
    • List and Details of Views
  • User Authentication
    • Authentication VS Authorization
    • Configuring Users
    • Permissions
    • Groups
  • Session Management
    • Enabling sessions
    • Types of session backends
    • Session Cookies
    • Accessing sessions from views
  • Migrations
    • Managed VS Unmanaged Tables
    • Handling Schema Changes
    • Using Make Migrations and Migrate
    • Tweaking Migrations
    • Migrating Data
  • Advanced Configuration
    • Django Settings Architecture
    • Typical Configuration
    • Using 12 Factor Config
    • Security Considerations
  • Serving Data with a RESTtful Interface
    • The Django REST Framework
    • Serialization
    • Requests and Responses
    • Function-based Views
    • Class-based Views
  • Static File Management
    • Types of Static Files
    • Configuring Access
    • Namespacing
    • Templates
    • Deploying from outside Django
  • Automated Testing
    • Why Create Tests?
    • When to Create Tests?
    • Using Django’s Test Framework
    • Using the test client
    • Running Tests
    • Checking Code Coverage
  • Using the Cache
    • Types of Caches
    • Setting up the Cache
    • Per-site and Per-view caching
    • Low-level API
    • Cache Security
  • Creating Reusable Apps
    • Packaging
    • Choosing an Appropriate Name
    • Deploying
    • Using Setup Tools
  • Documentation with Sphinx
    • Description of Sphinx
    • Restructured Text
    • Configuring Sphinx
    • Creating Doc Files
    • Using Auto doc
    • Generating Docs

Requirements

  • An understanding of Django.
  35 Hours
 

Related Courses

Related Categories