
Web Application Development in Python and Django
Module 1: Introduction The Python Environment
- Starting Python
- Using the interpreter
- Running a Python script
- Python scripts on Windows
- Editors and IDEs
Module 2: Getting Started
• Using variables
• Built-in functions
• Strings • Numbers
• Converting among types
• Writing to the screen
• Command line parameters
Module 3: Flow Control
• About flow control
• White space
• Conditional expressions
• Relational and Boolean operators
• While loops
• Alternate loop exits
Module 4: Lists and Tuples
• About sequences
• Lists and list methods
• Tuples • Indexing and slicing
• Iterating through a sequence
• Sequence functions, keywords, and operators
• List comprehensions
• Nested sequences
Module 5: Working with Files
• File overview
• The with statement
• Opening a text file
• Reading a text file
• Writing to a text file
• Raw (binary) data
Module 6: Dictionaries and Sets
• About dictionaries
• Creating dictionaries
• Iterating through a dictionary
• About sets
• Creating sets Web Application Development
• Working with sets
Module 7: Functions
• About sequences
• Function parameters
• Global variables
• Global scope
• Returning values
• Sorting data
Module 8: Errors and Exception Handling
• Syntax errors
• Exceptions
• Using try/catch/else/finally
• Handling multiple exceptions
• Ignoring exceptions
Module 9: Using Modules
• The import statement
• Module search path
• Zipped libraries
• Creating Modules
• Function and Module aliases
Module 10: Classes
• About o-o programming
• Defining classes
• Constructors
• Instance methods and data
• Class/static methods and data
• Inheritance
Module 11: Django Architecture
• Sites and apps
• Shared configuration
• Minimal Django layout
• Built-in flexibility
Module 12: Configuring a Project
• Executing manage.py
• Starting the project
• Database setup
• The development server
Module 13: Adding an Application
• Generate the application files
• Defining models
• Related objects
• SQL Migration
• App configuration
• Accessing models
Module 14: 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
Module 15: Basic Views (AKA Controllers)
• What is a view
• HttpResponse
• URL route configuration
• Shortcut: get_object_or_404()
Module 16: Basic Views (AKA Templates)
• About templates
• Django template syntax
• Static files
• Loading templates
• The url tag
• Shortcut: template.render()
Module 17: Querying the Models
• QuerySets
• Field lookups
• Chaining filters
• Slicing QuerySets
• Related fields
• Q objects
Module 18: Working with Templates
• Variable lookups
• Comments
• Inheritance
• Filters
• Escaping HTML
• Custom filters
Module 19: Forms
• Forms overview
• GET and POST
• The Form class
• Processing the form
• Widgets
• Validation
• Forms in templates
• Beyond the basics
Module 20: Automated Testing
• Why create tests?
• When to create tests
• Using Django's test framework
• Using the test client
• Running tests
• Checking code coverage
Module 21: Hands on Project
Practical