8351  Reviews star_rate star_rate star_rate star_rate star_half

Comprehensive Django Development

Ascendient Learning'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...

Read More
Duration 5 days
Course Code DGO-104
Available Formats Classroom

Overview

Ascendient Learning'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 4.x or later 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/).

Skills Gained

  • 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

Prerequisites

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

Course Details

Training Materials

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

Software Requirements

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

Outline

  • 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

Schedule

FAQ

Does the course schedule include a Lunchbreak?

Classes typically include a 1-hour lunch break around midday. However, the exact break times and duration can vary depending on the specific class. Your instructor will provide detailed information at the start of the course.

What languages are used to deliver training?

Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.

What does GTR stand for?

GTR stands for Guaranteed to Run; if you see a course with this status, it means this event is confirmed to run. View our GTR page to see our full list of Guaranteed to Run courses.

Does Ascendient Learning deliver group training?

Yes, we provide training for groups, individuals and private on sites. View our group training page for more information.

What does vendor-authorized training mean?

As a vendor-authorized training partner, we offer a curriculum that our partners have vetted. We use the same course materials and facilitate the same labs as our vendor-delivered training. These courses are considered the gold standard and, as such, are priced accordingly.

Is the training too basic, or will you go deep into technology?

It depends on your requirements, your role in your company, and your depth of knowledge. The good news about many of our learning paths, you can start from the fundamentals to highly specialized training.

How up-to-date are your courses and support materials?

We continuously work with our vendors to evaluate and refresh course material to reflect the latest training courses and best practices.

Are your instructors seasoned trainers who have deep knowledge of the training topic?

Ascendient Learning instructors have an average of 27 years of practical IT experience and have also served as consultants for an average of 15 years. To stay current, instructors spend at least 25 percent of their time learning new, emerging technologies and courses.

Do you provide hands-on training and exercises in an actual lab environment?

Lab access is dependent on the vendor and the type of training you sign up for. However, many of our top vendors will provide lab access to students to test and practice. The course description will specify lab access.

Will you customize the training for our company’s specific needs and goals?

We will work with you to identify training needs and areas of growth.  We offer a variety of training methods, such as private group training, on-site of your choice, and virtually. We provide courses and certifications that are aligned with your business goals.

How do I get started with certification?

Getting started on a certification pathway depends on your goals and the vendor you choose to get certified in. Many vendors offer entry-level IT certification to advanced IT certification that can boost your career. To get access to certification vouchers and discounts, please contact info@ascendientlearning.com.

Will I get access to content after I complete a course?

You will get access to the PDF of course books and guides, but access to the recording and slides will depend on the vendor and type of training you receive.

How do I request a W9 for Ascendient Learning?

View our filing status and how to request a W9.

Reviews

ExitCertified gave a great course on AWS that covered all of the basics in depth with good lab materials.

They were very good. They made sure everyone was able to get into the training and got all of the material needed for class.

The platform is very intuitive and easy to navigate. Great tool for learning

Good course. I appreciate the time the instructor put into teaching this class.

Easy to use and exactly what I was looking for. Value for money was exceptional.