Advanced Django Training (DJG201)
This Advanced Django course is designed for experienced Django developers looking to deepen their understanding of the framework and enhance their web development skills. You'll learn advanced Django concepts, including messaging, media handling, querying, and deploying your Django applications to production environments.
The course begins with the Messages Framework, where you'll learn how to display messages to users, use the SuccessMessageMixin, and customize success messages in your Django views.
In Media Files, you'll explore managing media files in Django, including adding media settings, uploading files, keeping files private, and using Amazon S3 for storage. Exercises will guide you through adding media functionality to your Django applications.
The Making Queries, Ajax, and View Functions module focuses on querying databases efficiently, using Ajax for dynamic updates, and enhancing your Django applications with real-time interactivity. You'll learn to work with query sets, manage relationships, and use JavaScript to enhance the user experience.
You'll then learn about Pagination and Ordering, where you'll implement pagination and ordering in your Django applications to improve data presentation and user navigation.
The Advanced Querying and Search module teaches advanced database querying techniques, including field lookups, Q objects, filtering, and search implementation. You'll also learn to optimize your code and view SQL queries for debugging purposes.
Next, in Deploying Your Website to Production, you'll learn best practices for deploying Django applications to production environments, with hands-on exercises to deploy to platforms like Heroku.
Customizing Django Admin provides techniques for customizing the Django admin interface, including modifying titles, headers, form views, and adding calculated fields. You'll also learn to manage permissions and groups effectively.
The course concludes with Additional Topics, offering further learning resources and additional projects to continue developing your Django skills beyond this course.
By the end of this Django course, you will be proficient in advanced Django features, including customizing the admin interface, managing media files, implementing efficient querying and search functionalities, and deploying applications to production environments. You'll be capable of developing highly dynamic, interactive, and efficient web applications that meet professional standards.
- Learn to add feedback messages to let users know about changes.
- Learn to allow users to securely upload files to your server.
- Learn to keep user-uploaded files private.
- Learn to use Amazon Simple Storage Service (Amazon S3) to manage files.
- Learn how to make queries against the database using Django.
- Learn to add custom properties to models.
- Learn to use Ajax to securely make changes to the database without refreshing the page.
- Learn to create constraints to control the data entered into the database.
- Learn to load data with fixtures.
- Learn to add pagination to Django templates.
- Learn to find optimization opportunities the Django Debug Toolbar.
- Learn to speed up your queries by prefetching data.
- Learn to deploy your Django website to Heroku.
- Learn to customize Django admin for staff users.
- Messages Framework
- Message Framework
- Exercise: Adding Messages
- Exercise: Using SuccessMessageMixin
- Exercise: Adding Success Messages to the Joke Views
- Exercise: Adding a Success Message to JokeDeleteView
- Media Files
- Media File Basics
- Exercise: Adding Media Settings
- Exercise: Uploading a Resume
- Exercise: Checking File Type
- Exercise: Keeping Resume Files Private
- Exercise: Adding an ImageField to the Model
- Exercise: Displaying the Avatar
- Amazon Simple Storage Service (Amazon S3)
- Exercise: Setting Up Amazon S3
- Exercise: Static Settings in Development
- Making Queries, Ajax, and View Functions
- Useful Prerequisites
- Managers and QuerySets
- Indexing and Slicing QuerySets
- Checking for Existence
- Creating, Updating, and Saving Model Instances
- QuerySet Methods that Don't Return QuerySets
- One-to-Many Relationships
- Many-to-Many Relationships
- Spanning Relationships
- Joke Voting
- Exercise: Adding a JokeVote Model
- Exercise: Registering the JokeVote Model
- Exercise: Adding Properties to the Joke Model
- Exercise: Rating Jokes Using Ajax
- Exercise: Adding a vote() View Function
- Exercise: Updating the URLConf
- Exercise: Updating the Templates
- Model Constraints
- Letting JavaScript Know if the User is Logged In
- Pagination and Ordering
- Fixtures
- Exercise: Loading Data from a Fixture
- Exercise: Pagination
- Exercise: Ordering
- Advanced Querying and Search
- Field Lookups
- Q Objects
- Exercise: Filtering Results by Category, Tag, or Creator
- Exercise: Implementing Search
- Aggregation
- Exercise: Getting Joke Ratings
- Code Optimization
- Exercise: Installing and Using the Django Debug Toolbar
- Brief Introduction to Annotation
- Viewing SQL Used in QuerySets
- Deploying your Website to Production
- Where to Host Your Django Site
- Exercise: Deploying to Heroku
- Customizing Django Admin
- Django Admin Views
- Exercise: Customizing Titles and Headers
- ModelAdmin Attributes that Affect the List View
- Exercise: Creating a Custom ModelAdmin Base Class
- Exercise: Customizing the Django Admin List View
- Lists vs. Tuples
- ModelAdmin Attributes that Affect Forms
- Exercise: Customizing Django Admin Form Views
- Customizing Fieldsets
- Exercise: Modifying the CustomUserAdmin Class
- Adding Calculated Read-only Fields
- Exercise: Adding a Link to the Change Password Form
- Exercise: Unregistering Models
- Exercise: Django Admin Groups and Permissions
- Additional Topics
- Additional Learning
- Additional Projects
Each student will receive a comprehensive set of materials, including course notes and all the class examples.
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
Courses that can help you meet these prerequisites:
Live Private Class
- Private Class for your Team
- Live training
- Online or On-location
- Customizable
- Expert Instructors