Your privacy matters: This site uses cookies to analyze site usage and provide social media features. Learn More.

Comprehensive Django Development

DGO-104 (5 Days)
4.58 out of 5 (13 reviews)  

Request Pricing

Django Training Overview

Accelebrate's Comprehensive Django Development course teaches existing Python developers how to develop full-stack Web applications using the Django framework. Students learn the basics of creating simple models, views, and controllers, then move on to more advanced topics such as administration, session management, authentication, and automated testing.

Note: This course can be taught with Django 1.x or 2.x on compatible versions of Python (as documented in the earliest release notes for your general Django release [1.11, 2.0, etc.] at https://docs.djangoproject.com/en/2.0/releases/).

Location and Pricing

Most Accelebrate courses are delivered as private, customized, on-site training at our clients' locations worldwide for groups of 3 or more attendees and are custom tailored to their specific needs. Please visit our client list to see organizations for whom we have delivered private in-house training. These courses can also be delivered as live, private online classes for groups that are geographically dispersed or wish to save on the instructor's or students' travel expenses. To receive a customized proposal and price quote for private training at your site or online, please contact us.

Django Training Objectives

All students will:

  • Develop web sites based on content stored in a relational database management system
  • Understand the model view controller (MVC) pattern and how it is implemented in Django
  • Create Django templates for easy-to-modify views
  • Map views to URLs
  • Take advantage of the built-in Admin interface
  • Provide HTML form processing
  • Integrate automated tests with your code
  • Take advantage of the built-in Admin interface
  • Extend the template system
  • Perform advanced database queries
  • Implement documentation with Sphinx
  • Create testable, reusable apps
  • Migrate data
  • Provide a RESTful interface to Django models
  • Build responsive web applications that adapt dynamically to clients ranging from desktop computers with large screens to tablets and phones
  • Cache requests to improve throughput

Django Training Outline

Expand All | Collapse All | Printer-Friendly

Introduction
Django overview
  • Django is a framework
  • Frameworks vs Packages
  • What can it do?
  • What are the alternatives?
Getting Started with Django
  • Sites and apps
  • Shared configuration
  • Minimal Django layout
  • Built-in flexibility
Usingcookiecutter
  • Why cookiecutter?
  • cookiecutter features
  • Creating a project
  • Creating an app
  • Customizing cookiecutter
Creating models with Django ORM
  • Defining models
  • Related objects
  • SQL Migration
  • App configuration
  • Accessing models
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
Basic Views (AKA Controllers)
  • What is a view
  • HttpResponse
  • URL route configuration
  • Shortcut: get_object_or_404()
Working with templates
  • About templates
  • Django template syntax
  • Static files
  • Loading templates
  • The url tag
  • Shortcut: template.render()
Querying the Models
  • QuerySets
  • Field lookups
  • Chaining filters
  • Slicing QuerySets
  • Related fields
  • Q objects
Enhancing Models
  • Custom methods
  • Complex relationships
  • Overriding standard methods
Forms
  • Forms overview
  • GET and POST
  • The Form class
  • Processing the form
  • Widgets
  • Validation
  • Forms in templates
  • Beyond the basics
Debugging
  • Printing to the console
  • Django debug page
  • Reading Django logs
  • Django debug toolbar
Class-based Views
  • About generic views
  • Types of generic views
  • Default generic views
  • Class-based generic views
  • List and detail views
User Authentication
  • Authentication vs Authorization
  • Configuring users
  • Permissions
  • Groups
Session Management
  • Enabling sessions
  • Types of session backends
  • Session cookies
  • Accessing sessions from views
Migrations
  • Managed vs unmanaged tables
  • Handling schema changes
  • Using makemigrations and migrate
  • Tweaking migrations
  • Migrating data
Advanced configuration
  • Django settings architecture
  • Typical configuration
  • Using 12 factor config
  • Security considerations
Serving Data with a RESTful Interface
  • The Django REST framework
  • Serialization
  • Requests and Responses
  • Function-based views
  • Class-based views
  • What about django-tastypie?
Static File Managment
  • Types of static files
  • Configuring access
  • Namespacing
  • Templates
  • Deploying from outside Django
Automated Testing
  • Why create tests?
  • When to create tests
  • Using Django's test framework
  • Using the test client
  • Running tests
  • Checking code coverage
Using the Cache
  • Types of caches
  • Setting up the cache
  • Per-site and per-view caching
  • Low-level API
  • Cache security
Creating Reusable Apps
  • Packaging
  • Choosing an appropriate name
  • Deploying
  • Using setuptools
Documentation with Sphinx
  • Description of Sphinx
  • reStructured Text
  • Configuring sphinx
  • Creating doc files
  • Using autodoc
  • Generating docs
Conclusion
Request Pricing

Lecture percentage

35%

Lecture/Demo

Lab percentage

65%

Lab

Course Number:

DGO-104

Duration:

5 Days

Prerequisites:

All students should have a working knowledge of Python, HTML5, and CSS.

Training Materials:

All attendees receive comprehensive course materials covering all topics in the course.

Software Requirements:

  • Python 3
  • Django 1.x or 2.x framework
  • Other Python extension modules
  • Bootstrap framework
  • A text editor or IDE (PyCharm Community Edition is an excellent free editor if you don’t have a strong preference)

Contact Us:

Accelebrate’s training classes are available for private groups of 3 or more people at your site or online anywhere worldwide.

Don't settle for a "one size fits all" public class! Have Accelebrate deliver exactly the training you want, privately at your site or online, for less than the cost of a public class.

For pricing and to learn more, please contact us.

Contact Us

Toll-free in US/Canada:
877 849 1850
International:
+1 678 648 3113

Toll-free in US/Canada:
866 566 1228
International:
+1 404 420 2491

925B Peachtree Street, NE
PMB 378
Atlanta, GA 30309-3918
USA

Subscribe to our Newsletter:

Never miss the latest news and information from Accelebrate:

Microsoft Gold Partner

Please see our complete list of
Microsoft Official Courses

Recent Training Locations

Alabama

Huntsville

Montgomery

Birmingham

Alaska

Anchorage

Arizona

Phoenix

Tucson

Arkansas

Fayetteville

Little Rock

California

San Francisco

Oakland

San Jose

Orange County

Los Angeles

Sacramento

San Diego

Colorado

Denver

Boulder

Colorado Springs

Connecticut

Hartford

DC

Washington

Florida

Fort Lauderdale

Miami

Jacksonville

Orlando

Saint Petersburg

Tampa

Georgia

Atlanta

Augusta

Savannah

Idaho

Boise

Illinois

Chicago

Indiana

Indianapolis

Iowa

Ceder Rapids

Des Moines

Kansas

Wichita

Kentucky

Lexington

Louisville

Louisiana

Banton Rouge

New Orleans

Maine

Portland

Maryland

Annapolis

Baltimore

Hagerstown

Frederick

Massachusetts

Springfield

Boston

Cambridge

Michigan

Ann Arbor

Detroit

Grand Rapids

Minnesota

Saint Paul

Minneapolis

Mississippi

Jackson

Missouri

Kansas City

St. Louis

Nebraska

Lincoln

Omaha

Nevada

Reno

Las Vegas

New Jersey

Princeton

New Mexico

Albuquerque

New York

Buffalo

Albany

White Plains

New York City

North Carolina

Charlotte

Durham

Raleigh

Ohio

Canton

Akron

Cincinnati

Cleveland

Columbus

Dayton

Oklahoma

Tulsa

Oklahoma City

Oregon

Portland

Pennsylvania

Pittsburgh

Philadelphia

Rhode Island

Providence

South Carolina

Columbia

Charleston

Spartanburg

Greenville

Tennessee

Memphis

Nashville

Knoxville

Texas

Dallas

El Paso

Houston

San Antonio

Austin

Utah

Salt Lake City

Virginia

Richmond

Alexandria

Arlington

Washington

Tacoma

Seattle

West Virginia

Charleston

Wisconsin

Madison

Milwaukee

Alberta

Edmonton

Calgary

British Columbia

Vancouver

Nova Scotia

Halifax

Ontario

Ottawa

Toronto

Quebec

Montreal

Puerto Rico

San Juan

© 2013-2019 Accelebrate, Inc. All Rights Reserved. All trademarks are owned by their respective owners.