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

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

TTPS4855.

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.

New Site, BIG Savings!
We're celebrating the launch of our lonnngggg awaited new site with with *50% off all 2021 Public Classes* booked by April 30!  Check out our Current Offers for Individuals, Teams and Organizations to Learn for Less!

See our latest Offers and Promotions

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