Refactor: Use class-based views
Turn all views in all apps into class-based views: https://docs.djangoproject.com/en/3.0/topics/class-based-views/
-
Identify different views and which views are similar enough to turn into a base view class, with overrides either through
as_view
or through inheritance or mixins - If it makes sense across apps, create base view classes in AlekSIS core
-
Move reusable code out of the views into
util
in each app, or even in AlekSIS core - Turn all views in all apps into class-based views finally