Advanced Django Training

Advanced Django Training

Course Length: 3 days
Delivery Methods: Multiple delivery options
Course Benefits
  • Adding messages to pages.
  • Media files.
  • Media settings.
  • Uploading files.
  • Cleaning form data.
  • Safety concerns.
  • The filetype library.
  • Keeping uploaded files private.
  • The django-private-storage library.
  • FileField and ImageField.
  • Displaying uploaded images.
  • Amazon Simple Storage Service (Amazon S3).
  • Querying models.
  • Adding properties to models.
  • Ajax.
  • View functions.
  • Model constraints.
  • Loading data with fixtures.
  • Pagination.
  • Sorting.
  • Advanced querying.
  • Field Lookups.
  • Q Objects.
  • Search.
  • Aggregation.
  • Annotation.
  • The Django Debug Toolbar.
  • Prefetching queries.
  • Deploying to Heroku.
  • Django admin views.
  • Customizing title text, change lists, forms, and fieldsets.
  • Unregistering models.
  • Groups and permissions.
  • Additional learning.
  • Projects for practice.
Available Delivery Methods
Public Class
Public expert-led online training from the convenience of your home, office or anywhere with an internet connection. Guaranteed to run .
Private Class
Private classes are delivered for groups at your offices or a location of your choice.
Course Overview

This is a direct continuation of our Introduction to Django course. You must either have taken that course or worked through all the lessons and exercises in our Actionable Django book through Lesson 11: User Registration.

In this advanced Django course, you will learn to work with the messages framework, allow users to upload files, make advanced queries, create view functions, work with Ajax, implement pagination and ordering, implement search, deploy your Django website to production, and customize Django admin.

Course Outline
  1. Messages Framework
    1. Message Framework
    2. Exercise: Adding Messages
    3. Exercise: Using SuccessMessageMixin
    4. Exercise: Adding Success Messages to the Joke Views
    5. Exercise: Adding a Success Message to JokeDeleteView
  2. Media Files
    1. Media File Basics
    2. Exercise: Adding Media Settings
    3. Exercise: Uploading a Resume
    4. Exercise: Checking File Type
    5. Exercise: Keeping Resume Files Private
    6. Exercise: Adding an ImageField to the Model
    7. Exercise: Displaying the Avatar
    8. Amazon Simple Storage Service (Amazon S3)
    9. Exercise: Setting Up Amazon S3
    10. Exercise: Static Settings in Development
  3. Making Queries, Ajax, and View Functions
    1. Useful Prerequisites
    2. Managers and QuerySets
    3. Indexing and Slicing QuerySets
    4. Checking for Existence
    5. Creating, Updating, and Saving Model Instances
    6. QuerySet Methods that Don't Return QuerySets
    7. One-to-Many Relationships
    8. Many-to-Many Relationships
    9. Spanning Relationships
    10. Joke Voting
    11. Exercise: Adding a JokeVote Model
    12. Exercise: Registering the JokeVote Model
    13. Exercise: Adding Properties to the Joke Model
    14. Exercise: Rating Jokes Using Ajax
    15. Exercise: Adding a vote() View Function
    16. Exercise: Updating the URLConf
    17. Exercise: Updating the Templates
    18. Model Constraints
    19. Letting JavaScript Know if the User is Logged In
  4. Pagination and Ordering
    1. Fixtures
    2. Exercise: Loading Data from a Fixture
    3. Exercise: Pagination
    4. Exercise: Ordering
  5. Advanced Querying and Search
    1. Field Lookups
    2. Q Objects
    3. Exercise: Filtering Results by Category, Tag, or Creator
    4. Exercise: Implementing Search
    5. Aggregation
    6. Exercise: Getting Joke Ratings
    7. Code Optimization
    8. Exercise: Installing and Using the Django Debug Toolbar
    9. Brief Introduction to Annotation
    10. Viewing SQL Used in QuerySets
  6. Deploying your Website to Production
    1. Where to Host Your Django Site
    2. Exercise: Deploying to Heroku
  7. Customizing Django Admin
    1. Django Admin Views
    2. Exercise: Customizing Titles and Headers
    3. ModelAdmin Attributes that Affect the List View
    4. Exercise: Creating a Custom ModelAdmin Base Class
    5. Exercise: Customizing the Django Admin List View
    6. Lists vs. Tuples
    7. ModelAdmin Attributes that Affect Forms
    8. Exercise: Customizing Django Admin Form Views
    9. Customizing Fieldsets
    10. Exercise: Modifying the CustomUserAdmin Class
    11. Adding Calculated Read-only Fields
    12. Exercise: Adding a Link to the Change Password Form
    13. Exercise: Unregistering Models
    14. Exercise: Django Admin Groups and Permissions
  8. Additional Topics
    1. Additional Learning
    2. Additional Projects
Class Materials

Each student will receive a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

Experience in the following is required for this Django class:

  • Python
  • Basic Django as taught in our Introduction to Django course

Experience in the following would be useful for this Django class:

  • JavaScript
  • SQL
Prerequisite Courses

Courses that can help you meet these prerequisites:

Register for a Live Class
Please select a class.
Request a Private Class
  • Private Class for your Team
  • Online or On-location
  • Customizable
  • Expert Instructors
Request Pricing