More than 8 Hours of Video Instruction
Advanced Web Development in Python with Django LiveLessons is intended for people familiar with web development who understand the basics of Django and want to get more out of it but are unfamiliar with more difficult topics such as authentication, database query optimization, and caching. The course builds directly on top of Andrew Pinkham's previous course, Web Development in Python with Django LiveLessons, starting with the same code base where the class left off and building new features in the same project, making for a clear and clean learning progression. While the previous course is not a hard prerequisite, the prerequisites for that course and the concepts introduced in it will be necessary to understand the videos. A review lesson enables people to judge for themselves whether the course is appropriate for their level. Skill Level
Learn How To
* Write tests for Django* Implement authentication in Django* Optimize Django performance* Enhance applications* Enable user media and processing with a Celery queue* Utilize asynchronous Python
Who Should Take This Course
Python programmers and other software developers interested in leveraging the Django web framework to build web applications
Python programming experience
Lesson 1: Dip Your Toes Into Test Writing
Lesson 1 starts off the course with testing, which is crucial to successful software development. The lesson begins by looking at the why, what, and how of testing, and then dives into how to test all the different components in Django. You also get a taste of Django's check framework.
Lesson 2: Protect Site Access with Authentication
Lesson 2 starts with authentication, or login and logout, but the focus is not limited to just that. As always, the lesson begins by discussing the fundamentals, and then dives into how they work with Django. We'll build login and logout, views to allow users to change their password, views to allow people to reset forgotten passwords, and even set up new user registration.
Lesson 3: Protect API Access with Authentication
Lesson 3 is about how to use authentication and authorization to protect API endpoints. While the fundamentals are similar to Lesson 2, the actual work is different. The lesson starts with implementing token authentication and then switches to a more robust OAuth 2 authentication system. Andrew switches up the testing gears in this lesson, using Postman to interact with our API.
Lesson 4: Performance
Lesson 4 is about optimization. Andrew talks about how you should optimize a back-end web app and what common optimization problems are. You learn how to optimize database interactions when using models, and Andrew talks about how to improve the site with caching.
Lesson 5: Enhance the Application with Pagination, Static Content, and a Sitemap
Lesson 5 adds a bit of polish to your website. You use some of Django's contributed library and generic views to make navigation easier. This includes adding a few pages to organize things alphabetically and by date, as well as how to generate RSS and Atom feeds and a sitemap for search engines. Finally, you add some basic CSS to your site.
Lesson 6: Enabling User Media and Processing with a Celery Queue
Lesson 6 covers one of the places where Django needs a bit of help. The problem, in short, is that web browsers expect you to get a response back to them very quickly; however, sometimes you need to perform a computation for longer than that round-trip time. For your app to handle situations like these, you’ll need to offload work from Django to some other process. You learn how to use Celery and queues in tandem with Django to handle this sort of scenario.
Lesson 7: Asynchronous Python
Lesson 7 delves into the changes happening in Python and Django. Andrew discusses Python's new async features, presents an example of using async in a different framework, and even leads you through programming an app that uses WebSockets as well as HTTP. Finally, Andrew discusses how these changes will affect Django in the near future.
About Pearson Video Training
Pearson publishes expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. These professional and personal technology videos feature world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include IT Certification, Network Security, Cisco Technology, Programming, Web Development, Mobile Development, and more. Learn more about Pearson Video training at http://www.informit.com/video.
Lesson 1: Dip Your Toes into Test Writing Learning objectives 1.1 Introduce testing 1.2 Demonstrate test-driven development in Django–Part 1 1.3 Demonstrate test-driven development in Django–Part 2 1.4 Write tests for views and templates 1.5 Write tests for models 1.6 Write Django checks 1.7 Use factories for data generation 1.8 Property test serializers with Hypothesis 1.9 Upgrade Django 1.10 Set up continuous delivery on HerokuLesson 2: Protect Site Access with Authentication Learning objectives 2.1 Preview the final result 2.2 Introduce identification, authentication, and authorization 2.3 Define a custom User model for better identity-management and internationalization 2.4 Demonstrate the use of Content-Types, User, Permission, and Group 2.5 Configure the site to use the Argon2 password hasher instead of PBKDF2 2.6 Build web pages to log in and log out users 2.7 Customize login and logout 2.8 Build pages for users to change their passwords 2.9 Customize authentication and password URLs 2.10 Allow users to reset their forgotten password 2.11 Protect pages with login 2.12 Protect pages with permissions 2.13 Allow new user registration 2.14 Configure Django to send emailsLesson 3: Protect API Access with Authentication Learning objectives 3.1 Preview the final result 3.2 Build an API endpoint to provide authorization tokens 3.3 Understand OAuth (10 minutes) 3.4 Configure Django as an OAuth2 provider Lesson 4: Performance Learning objectives 4.1 Understand performance bottlenecks and profiling 4.2 Optimize database queries–Part 1 4.3 Optimize database queries–Part 2 4.4 Cache Django data Lesson 5: Enhance the Application with Pagination, Static Content, and a Sitemap Learning objectives 5.1 Add static content 5.2 Paginate results in HTML 5.3 Paginate results in the API 5.4 Organize data using generic date views 5.5 Add static content 5.5 Add RSS and Atom feeds 5.6 Generate a sitemap in Django Lesson 6: Enabling User Media and Processing with a Celery Queue Learning objectives 6.1 Understand when to use queues 6.2 Set up media serving with a CDN on AWS and django-storage 6.3 Define media in models and migrate your database 6.4 Write a Celery taskLesson 7: Asynchronous Python Learning objectives 7.1 Begin to use asynchronous Python with async/await 7.2 Use Starlette to create async APIs 7.3 Use Starlette to establish WebSocket connections 7.4 See into Django's asynchronous future Summary of Advanced Web Development in Python with Django LiveLessons