Next Level Python | RESTful Services with Python, Swagger, Django and More

Next Level Python | RESTful Services with Python, Swagger, Django and More


Intermediate and Beyond

5 Days

Course Overview

Geared for experienced Python programmers, Next Level Python is a comprehensive, hands-on Python training series that thoroughly explores intermediate to advanced level topics and skills.  This comprehensive, practical skills immersion program provides an in-depth exploration of working with the programming language, not an academic overview of syntax and grammar.  


Course Topics Covered (detailed sessions, lessons and labs are listed below):

  • Scalar variables and constants
  • Lists, tuples, dictionaries, and sets
  • Conditionals and loops
  • Functions, modules, and packages
  • Reading and writing files
  • Object-oriented basics
  • Defensive programming: Errors, exception handling, and logging
  • Flask/Swagger
  • Django

Course Objectives

Throughout the course students will be led through a series of progressively advanced topics, where each topic consists of lecture, group discussion, comprehensive hands-on lab exercises, and lab review. This course is “skills-centric”, designed to train attendees in essential, advanced Python and web development skills, coupling the most current, effective techniques with the soundest coding practices.


Working within in an engaging, hands-on learning environment, guided by our expert Python instructor, attendees will learn to:

  • Create working Python scripts following best practices
  • Use python data types appropriately
  • Know when to use collections such as lists, dictionaries, and sets
  • Write robust code using exception handling and logging
  • Creating modules in C
  • Accessing Database Data using PyDB (PEP 249) and SQLAlchemy
  • Create working RESTful services
  • Integrating Angular applications
  • Integrating OAuth
  • Reactive Python

Course Prerequisites

This course is appropriate for advanced users, system administrators and web site administrators who want to use Python to support their server installations, as well as anyone else who wants to automate or simplify common tasks with the use of Python scripts. 

Students should have basic development experience in any programming language, along with a working, user-level knowledge of Unix/Linux, Mac, or Windows.

Course Agenda

Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We’ll work with you to tune this course and level of coverage to target the skills you need most. Topics, agenda and labs may adjust during live delivery based on audience needs and skill-level.


Session: Python basics

·        Using variables

·        Builtin functions

·        Strings

·        Numbers

·        Converting among types

·        Writing to the screen

·        Command line parameters


Session: Conditionals and loops

·        About flow control

·        White space

·        Conditional expressions

·        Relational and Boolean operators

·        While loops

·        Alternate loop exits


Session: Array types

·        Lists and list methods

·        Tuples

·        Indexing and slicing

·        Nested arrays

·        Iterating over an array

·        Array functions,keywords, and operators

·        List comprehensions

Session: Reading and writing files

·        File overview

·        Opening a text file

·        Reading a text file

·        Writing to a text file

·        Working with binary data


Session: Mapping types

·        Creating dictionaries

·        Manipulating dictionary elements

·        Iterating through a dictionary

·        Creating sets

·        Adding and deleting set members

·        Set operations (intersection, union, etc.)


Session: Functions, modules, and packages

·        Defining functions

·        Parameters  and return values

·        Variable  scope

·        Creating modules

·        Using import

·        Organizing modules into packages


Session: Classes

·        Defining classes

·        Constructors

·        Methods

·        Instance data

·        Properties

·        Class methods and data


Session: Errors and Exception Handling

·        Syntax errors

·        Exceptions

·        Using try/catch/else/finally

·        Handling multiple exceptions

·        Ignoring exceptions


Session: Python C modules

·        Python Modules in C

·        Python-C Interface

·        Compiling modules

·        Installing modules


Session: DataBase Access

·        Python DB API (PEP-249)

·        Installing drivers (MS-SQL)

·        Querying data

·        Updating data

·        Transaction Overview


Session: SQLAlchemy Overview

·        Object-Relational Mapping

·        SQLAlchemy Overview

·        Basic Mapping

·        Relational Mapping Overview


Session: Swagger

·        What is swagger?

·        Swagger is language-neutral

·        The Swagger Editor

·        Describing APIs

·        Creating a spec


Session:  Flask basics

·        Setting up flask

·        Flask configuration

·        Quick MVC example

·        Quick REST example


Session:  Practical Flask

·        App layout

·        Flask extensions

·        Blueprints

·        Working with databases


Session:  Flask-Swagger

·        Using flask-restful-swagger

·        Extracting the API spect

·        Swagger decorators

·        Real-life issues


Session:  Angular Integration Basics

·        Angular Overview

·        Angular Services

·        REST vs. WebSocket

·        Integrating Angular apps


Session:  OAuth Integration

·        OAuth Overview

·        OAuth vs. OpenID

·        OAuth 1 vs. OAuth 2

·        JWT – JSON Web Tokens

·        Integrating OAuth 2


Session:  Reactive Python Overview

·        Reactive Programming Overview

·        Working with MQs

·        Asynchronous responses

·        RxPy: Reactive Python

Session:  Django Overview

·        Architecture Overview

·        MVC in Django

·        Installation Requirements

·        Hello, Django!


Session: Templates

·        Templates

·        Template Engines

·        Variables

·        Tags

·        Filters


Session: Forms

·        Form Basics

·        Form API

·        Forms vs. Models

·        Rendering

·        UI Validation


Session: Basic ORM with Django

·        ORM and Django Models

·        Mapping Fields

·        Primary Keys

·        Data type conversion

·        Meta options

·        Database Queries


Session: ORM Relationships with Django

·        One-to-One Relationships

·        One-to-Many Relationships

·        Many-to-Mnay Relationships


Session: Relationships and Inheritance

·        Inheritance mapping models

·        Single Table Inheritance

·        Abstract-class table

·        Table-per-concrete-class

·        Meta Inheritance options


Session: Advanced Django

·        File Uploads

·        Generating CSV files

·        Generating PDF files


Session: Internationalization

·        I18N and L10N

·        getText and ugetText

·        Lazy translation

·        Pluralization


Session: Authentication

·        Authentication

·        Authorization

·        Django Auth* Annotations

·        Integrating back-end Authentication


Session: Security

·        Security in Django

·        Cross-site Scripting (XSS)

·        Cross-site Request Forgery (CSRF/XSRF)

·        SQL Injection

·        Click-jacking

·        SSL

Course Materials

Each student will receive a Student Guide with course notes, code samples, software tutorials, diagrams and related reference materials and links. Our courses also include step by step hands-on lab instructions and code samples, clearly illustrated for users to complete hands-on work in class, and to revisit to review or refresh skills at any time.  Students will also receive the course set up files and project code needed for the hands on work.

Raise the bar for advancing technology skills

Attend a Class!

Live scheduled classes are listed below or browse our full course catalog anytime

Special Offers

We regulary offer discounts for individuals, groups and corporate teams. Contact us

Custom Team Training

Check out custom training solutions planned around your unique needs and skills.

EveryCourse Extras

Exclusive materials, ongoing support and a free live course refresh with every class.

Fresh Spring Savings!
Buy One Get One Free!

Enroll by May 31 in any TWO public classes in 2022 for the price of ONE! 

Click for Details & Additional Offers

Learn. Explore. Advance!

Extend your training investment! Recorded sessions, free re-sits and after course support included with Every Course
Trivera MiniCamps
Gain the skills you need with less time in the classroom with our short course, live-online hands-on events
Trivera QuickSkills: Free Courses and Webinars
Training on us! Keep your skills current with free live events, courses & webinars
Trivera AfterCourse: Coaching and Support
Expert level after-training support to help organizations put new training skills into practice on the job

The voices of our customers speak volumes

Special Offers
Limited Offer for most courses.

SAVE 50%

Learn More