Full Stack Web Development with Python and Django (AA-TTPS4860)


Course Description

Geared for experienced web developers new to Python, Introduction to Full Stack Web Development with Python and Django is a five-day hands-on 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.

Course Topics: This is the high-level list of topics covered in the course. See below for detailed sessions, lessons and labs:

  • The Python Environment
  • Getting Started
  • Flow Control
  • Lists and Tuples
  • Working with Files
  • Dictionaries and Sets
  • Functions
  • Errors and Exception Handling
  • Using Modules
  • Classes
  • Django Architecture<
  • Configuring a Project
  • Adding an Application
  • Login for Nothing and Admin for free<
  • Basic Views (AKA Controllers and Templates)
  • Querying the Models
  • Working with Templates
  • Forms
  • Automated Testing

Course Outline

  1. The Python Environment
  • Starting Python
  • Using the interpreter
  • Running a Python script
  • Python scripts on Unix/Windows
  • 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
  • White space
  • Conditional expressions
  • Relational and Boolean operators
  • While loops
  • Alternate loop exits
  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
  • Nested sequences
  1. Working with Files
  • File overview
  • The with statement
  • Opening a text file
  • Reading a text file
  • Writing to a text file
  • Raw (binary) data
  1. Dictionaries and Sets
  • About dictionaries
  • Creating dictionaries
  • Iterating through a dictionary
  • About sets
  • Creating sets
  • Working with sets
  1. Functions
  • About sequences
  • Function parameters
  • Global variables
  • Global scope
  • Returning values
  • Sorting data
  1. Errors and Exception Handling
  • Syntax errors
  • Exceptions
  • Using try/catch/else/finally
  • Handling multiple exceptions
  • Ignoring exceptions
  1. Using Modules
  • The import statement
  • Module search path
  • Zipped libraries
  • Creating Modules
  • Function and Module aliases
  1. Classes
  • About o-o programming
  • Defining classes
  • Constructors
  • Instance methods and data
  • Class/static methods and data
  • Inheritance
  1. Django Architecture
  • Sites and apps
  • Shared configuration
  • Minimal Django layout
  • Built in flexibility
  1. Configuring a Project
  • Executing manage.py
  • Starting the project
  • Database setup
  • The development server
  1. Adding an Application
  • Generate the application files
  • Defining models
  • Related objects
  • SQL Migration
  • App configuration
  • Accessing models
  1. 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
  1. Basic Views (AKA Controllers)
  • What is a view
  • HttpResponse
  • URL route configuration
  • Shortcut: get_object_or_404()
  1. Basic Views (AKA Templates)
  • About templates
  • Django template syntax
  • Static files
  • Loading templates
  • The url tag
  • Shortcut: template.render()
  1. Querying the Models
  • QuerySets
  • Field lookups
  • Chaining filters
  • Slicing QuerySets
  • Related fields
  • Q objects
  1. Working with Templates
  • Variable lookups
  • 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
  • Beyond the basics
  1. Automated Testing
  • Why create tests?
  • When to create tests
  • Using Django's test framework
  • Using the test client
  • Running tests
  • Checking code coverage

Course Objectives

This course is approximately 50% hands-on, combining expert lecture, real-world demonstrations and group discussions with machine-based practical labs and exercises. Our engaging instructors and mentors are highly experienced practitioners who bring years of current "on-the-job" experience into every classroom. 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 Prerequisites

This introductory-level Python course is geared for experienced web developers new to Python who want to use Python and Django for full stack web development projects.

Course Information

Length: 5 day

Format: Lecture and Lab

Delivery Method: n/a

Max. Capacity: 16



Schedule

Contact Us

UPCOMING COURSES
Date
Geography & Location
Days
Cost
CLC
GTR
Nov 18, 2024 - 5 day(s)
Nov 18, 2024
AMER
Remote-EST
AMER, Remote-EST
5
$2595 USD
$2595 USD

Do you have more questions? We're delighted to assist you!

1-877-797-2799
info@firefly.cloud

Labs

  • This hands-on course focuses on "learning by doing", combining expert lecture, practical demonstrations and group discussions with plenty of machine-based real-world programming labs and exercises. Student machines are required.


Who Should Attend

Web Developers, Full Stack Developers