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: Intermediate
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
Course Requirements: 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