I am doing the same thing that is done in the code where a user registers for a course via the dashboard. I personally don't find this difficult to understand and wish to keep it consistent with student/views.py.