In the previous chapter, you used model inheritance and generic relationships to create flexible course content models. You also built a course management system using class-based views, formsets, and AJAX ordering for contents. In this chapter, you will:
- Create public views for displaying course information
- Build a student registration system
- Manage student enrollment in courses
- Render diverse course contents
- Cache content using the cache framework
We will start by creating a course catalog for students to browse existing courses and be able to enroll in them.