TTPS4860: Full Stack Web Development with Python and Django

Become an EPIC Affiliate

To view the class schedule you need to become an Affiliate

  • Largest “Guaranteed To Run” public technical training schedules available
  • Easy to become an Affiliate – no charge or fee
Become an EPIC Affiliate

already an Affiliate?  Login

About this Course

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.

Audience Profile

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.

At Course Completion

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

Outline

1. The Python Environment

· Starting Python

· Using the interpreter

· Running a Python script

· Getting help

· Editors and IDEs

2. Getting Started

· Using variables

· Built in functions

· Strings

· Numbers

· Converting among types

· Writing to the screen

· Command line parameters

3. Flow Control

· About flow control

· Conditional expressions

· Relational and Boolean operators

· while loops

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

5. Working with Files

· File overview

· The with statement

· Opening a file

· Reading/writing files

6. Dictionaries and Sets

· About dictionaries

· Creating and using dictionaries

· About sets

· Creating and using sets

7. Functions

· Returning values

· Function parameters

· Variable Scope

· Sorting with functions

8. Errors and Exception Handling

· Exception overview

· Using try/catch/else/finally

· Handling multiple exceptions

· Ignoring exceptions

9. Modules and Packages

· Creating Modules

· The import statement

· Module search path

· Creating packages

10. Classes

· About OO programming

· Defining classes

· Constructors

· Properties

· Instance methods and data

· Class/static methods and data

· Inheritance

11. Django Architecture

· Django overview

· Minimal Django layout

· Built in flexibility

12. Getting Started

· Sites and apps

· Shared configuration

· Executing manage.py

· Starting the project

· Generating app files

· App configuration

· Database setup

· The development server

13. Using cookiecutter

· What is cookiecutter

· Creating projects with cookiecutter

14. Creating models

· Defining models

· Adding data

· Related objects

· SQL Migration

· Simple model access

15. Login for Nothing and Admin for Free

· Setting up the admin user

· Using the admin interface

· Editing data

16. Querying Models

· QuerySets

· Field lookups

· Chaining filters

· Slicing QuerySets

· Related fields

· Q objects

17. Views

· What is a view?

· HttpResponse

· URL route configuration

· Shortcut: get_object_or_404()

18. Templates

· About templates

· Variable lookups

· The url tag

· Shortcut: render()

19. Forms

· Forms overview

· GET and POST

· The Form class

· Processing the form

· Widgets

· Validation

· Forms in templates

20. Unit Testing

· Why create tests?

· When to create tests

· Using Django's test framework

· Using the test client

· Running tests

· Checking code coverage

Prerequisites