Python 204 – Python and Django

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.

Days : 5
Price :

This product is currently out of stock and unavailable.

Description

Who should attend

  • System Administrators
  • Network Engineers
  • Software Developers
  • Python Enthusiasts

Prerequisites

None, however, previous knowledge of HTTP protocol or some aspects of web development is helpful

Course Objectives

  • 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

Follow On Courses

Outline: Python 204  Python and Django (PDWAD)

Python Review

  • Version Control with Git
  • Lists
  • Dictionaries
  • Conditionals (if, elif, else)
  • Loops (for and when)
  • Functions
  • Classes and Methods
  • Using pip
  • Whitespace
  • Booleans and Relational Operators
  • Error and Exception handling (try / except)
  • Classes

Working with Data  JSON, YAML, CSV and Excel

  • JSON RFC 7159
  • JSON Formatting
  • YAML intro
  • YAML Formatting
  • Python Libraries for decoding JSON, YAML and CSV
  • Reading and Writing to Excel
  • Dataframes and pandas

Web and RESTful APIs

  • Creating an HTTP Client & Server with Python
  • Introduction to REST
  • RESTful API on Etcd keystore (Kubernetes distributed DB)
  • Creating a Python client to interact with API endpoints
  • API dev keys
  • Secure password retrieval
  • Tokens and APIs
  • OAuth v2.0

API Design Practices

  • RESTful Architecture
  • Stubbing code with Swagger
  • Describing Resource functionality (GET, POST, PUT, DELETE, etc.)
  • Collections, resources, and URLs
  • Using nouns, not verbs
  • Understanding HTTP status codes
  • Returning data

Building APIs with Django

  • Sites and apps
  • Shared configuration
  • Django layout
  • Lifecyclinga project
  • Database integration
  • Dev servers

Django Admins

  • Setting up admins
  • Running an admin site
  • Customizing the admin interface
  • Changing the admin index

Introducing Views (Controllers)

  • What is a view
  • Django HttpResponse
  • URL route configuration
  • get_object_or_404()

Django Templating & Jinja

  • Templates
  • Django Syntax
  • Static files
  • loading templates
  • URL tagging
  • template.render()
  • Variable lookups
  • comments
  • Inheritance
  • Filters
  • Escaping HTML
  • Custom filters
  • Python and Jinja

Querying Models

  • Query Set
  • Field lookups
  • Changing filters
  • Slicing QuerySets
  • Related fields
  • Q objects

Forms

  • Forms
  • GET and POST
  • Form class
  • Process the form
  • Widgets
  • Validation
  • Forms in templates

Containerizing the Deployment

  • Docker containers
  • Docker build
  • Constructing Docker images
  • Dockerfile
  • Automating build processes

Database Integration

  • Overview
  • Connecting to Python
  • Read / Write operations
  • Other useful instructions
  • SQL and nonSQL integration
  • Reading and Writing to Databases with APIs

Testing

  • How to make Django tests
  • Test frameworks
  • The test client