Duration:

5 Days

Audience:

Employees of federal, state and local governments; and businesses working with the government.

Course Overview:

Geared for experienced web developers new to Python, Introduction to Full Stack Web Development with Python and Django is a five-day hands-on Python training course that teaches students how to develop Web applications using the Django framework. Students will explore the basics of creating basic applications using the MVC (model-view-controller) design pattern, as well as more advanced topics such as administration, session management, authentication, and automated testing. This comprehensive, practical course provides an in-depth exploration of working with the programming language, not an academic overview of syntax and grammar.  Students will immediately be able to use Python to complete tasks in the real world. This course is approximately 40% hands-on, combining expert lecture, real-world demonstrations and group discussions with machine-based practical labs and exercises.

Working in a hands-on learning environment, guided by our expert team, attendees will learn to:

  • Develop full-stack web sites based on content stored in an RDMS
  • Use python data types appropriately
  • Define data models
  • Understand the architecture of a Django-based web site
  • Create Django templates for easy-to-modify views
  • Map views to URLs
  • Take advantage of the built-in Admin interface
  • Provide HTML form processing

Course Objectives:

This course is approximately 40% hands-on, combining expert lecture, real-world demonstrations and group discussions with machine-based practical labs and exercises.
Working in a hands-on learning environment, guided by our expert team, attendees will learn to:

  • Develop full-stack web sites based on content stored in an RDMS
  • Use python data types appropriately
  • Define data models
  • Understand the architecture of a Django-based web site
  • Create Django templates for easy-to-modify views
  • Map views to URLs
  • Take advantage of the built-in Admin interface
  • Provide HTML form processing

Course Outline:

  1. The Python Environment
  • Starting Python
  • Using the interpreter
  • Running a Python script
  • Getting help
  • Editors and IDEs
  1. Getting Started
  • Using variables
  • Built in functions
  • Strings
  • Numbers
  • Converting among types
  • Writing to the screen
  • Command line parameters
  1. Flow Control
  • About flow control
  • Conditional expressions
  • Relational and Boolean operators
  • while loops
  1. Lists and Tuples
  • About sequences
  • Lists and list methods
  • Tuples
  • Indexing and slicing
  • Iterating through a sequence
  • Sequence functions, keywords, and operators
  • List comprehensions
  1. Working with Files
  • File overview
  • The with statement
  • Opening a file
  • Reading/writing files
  1. Dictionaries and Sets
  • About dictionaries
  • Creating and using dictionaries
  • About sets
  • Creating and using sets
  1. Functions
  • Returning values
  • Function parameters
  • Variable Scope
  • Sorting with functions
  1. Errors and Exception Handling
  • Exception overview
  • Using try/catch/else/finally
  • Handling multiple exceptions
  • Ignoring exceptions
  1. Modules and Packages
  • Creating Modules
  • The import statement
  • Module search path
  • Creating packages
  1. Classes
  • About OO programming
  • Defining classes
  • Constructors
  • Properties
  • Instance methods and data
  • Class/static methods and data
  • Inheritance
  1. Django Architecture
  • Django overview
  • Sites and apps
  • Shared configuration
  • Minimal Django layout
  • Built in flexibility
  1. Configuring a Project
  • Executing manage.py
  • Starting the project
  • Generating app files
  • App configuration
  • Database setup
  • The development server
  • Using cookiecutter
  1. Creating models
  • Defining models
  • Related objects
  • SQL Migration
  • Simplel model access
  1. Login for Nothing and Admin for Free
  • Setting up the admin user
  • Using the admin interface
  1. Views
  • What is a view
  • HttpResponse
  • URL route configuration
  • Shortcut: get_object_or_404()
  • Class-based views
  1. Templates
  • About templates
  • Variable lookups
  • The url tag
  • Shortcut: render()
  1. Querying Models
  • QuerySets
  • Field lookups
  • Chaining filters
  • Slicing QuerySets
  • Related fields
  • Q objects
  1. Advanced Templates Use
  • Comments
  • Inheritance
  • Filters
  • Escaping HTML
  • Custom filters
  1. Forms
  • Forms overview
  • GET and POST
  • The Form class
  • Processing the form
  • Widgets
  • Validation
  • Forms in templates
  1. Automated Testing
  • Why create tests?
  • When to create tests
  • Using Django’s test framework
  • Using the test client
  • Running tests
  • Checking code coverage