You've used function based views (which are fine, and will work!) but this makes your life more difficult than it needs to be. FBVs are good when you need lots of specific control / granular control - CBVs will allow you to just extend a Class and override its built in functions - Django has a lot of them and they will do a lot of work for you that you don't need to do.
I highly recommend using the stuff Django comes packaged with - it will save you a lot of time :)
You've used function based views (which are fine, and will work!) but this makes your life more difficult than it needs to be. FBVs are good when you need lots of specific control / granular control - CBVs will allow you to just extend a Class and override its built in functions - Django has a lot of them and they will do a lot of work for you that you don't need to do.
I highly recommend using the stuff Django comes packaged with - it will save you a lot of time :)
Recommend:
Also v good:
Note - this will marginally change the way your URLs are declared, but not by much.
Again the way you have done this so far will work, but for future projects - worth investigating. :)