Course Outline
Introduction to Django
- Describing the basics of using a web framework for development
- Understanding he concepts of MVC (Model-View-Controller)
- Detailing the evolution of Django
Getting Started
- Explaining the steps for installation of Django on Linux and Windows
- Illustrating the setting database and project detailing project’s components
The Basics of Dynamic Web Pages
- Illustrating views and their usage for dynamic content
- Describing URLconfs and view mapping
- Detailing the request handling process of Django
- Explaining the usage of URL patterns and Errors
The Django Template System
- Understanding the concepts and usage of template system of Django
- Describing the template tags and filters in Django
- Detailing the usage of template in views and their loading
Interacting with a Database: Models
- Explaining the MTV (Model Template View) pattern of Django
- Describing the process of configuring a database
- Illustrating the steps to define a model and installing it
- Understanding the data and database schema access and it’s management in Django
The Django Administration Site
- Explaining the usage, access and customization of the admin interface
Form Processing
- Describing the process of form creation and it’s processing
- Explaining the techniques to apply validation rules to form
- Illustrating the steps to customize layout and formatting of forms
- Detailing forms creation from models
Advanced Views and URLconfs
- Explaining the concepts of function imports and multiple view prefixes
- Describing the usage of named groups for regex
- Customizing views functions to pass extra options or default arguments
- Illustrating the inclusion of other URLconfs
Generic Views
- Explaining the usage and application of generic views and extending them
Extending the Template Engine
- Using requestcontext and context processors for specifying variable in each context
- Describing the techniques of extending templates by template library, custom template filters and loaders
Generating Non-HTML Content
- Explaining the method to produce different MIME-types like csv, pdf, rss and sitemap from views
Sessions, Users, and Registration
- Understanding cookies, session framework, users and authentication in django
- Explaining the implementation of permissions, groups, messages, and profiles
Caching
- Describing the process of setting up cache for faster response
- Detailing the usage of low level cache API for caching in django
- Explaining the usage of vary and cache headers
Other Contributed Subframeworks
- Exploring the django standard library for add-ons
- Describing the sites framework, flatpages, redirects and CSRF
Middleware
- Detailing the installation and methods in middleware
- Describing the built-in middleware in django
Integrating with Legacy Databases and Applications
- Explaining the usage of inspectdb utility
- Detailing the steps to specify authentication back-ends and integrating with legacy web applications
Extending Django's Admin Interface
- Describing the steps to customize admin templates and admin views in django
Internationalization
- Illustrating the usage of standard translation functions
- Describing the creation of language files and language preference setting in django
- Explaining the usage of translations in javascript
Security
- Explaining techniques to counter different types of web attacks like SQL injection, cross-site scripting, cross-site request forgery, email header injection, directory traversal and exposed error messages
Deploying Django
- Describing the basic configuration of single and multiple django installations
- Explaining implementation of scaling, load balancing and redundancy in django
- Illustrating techniques for performance tuning