This past week I started a tutorial to learn the Django REST Framework. My main goal was to discover what the Django REST Framework offers on top of Django and to determine if it is something our group would benefit from using for our project.
The Django REST Framework is a library used with Django to build REST APIs. It makes certain functions easier, like serialization and OAuth support. Our group project will involve many database interactions and we are working with several entities including users, plants, and orders. Since our site will be used on a single platform (for now), I don’t think that we will need to develop a full API for our project. The other reason we would use Django REST Framework would be if we were to use a frontend framework like VueJS or React; we would implement our database with an API and serialize the data so that the frontend framework could use the data from the database. Since our current plan is to use the html templating system that is built into Django, it is not necessary for us to develop an API for our project to feed data to a frontend framework.
We will need to implement all the CRUD operations for our entities, and we can still do that by creating an API-like structure with Django. My understanding is that Django alone should provide the solutions we need for our project. I may consider using Django REST Framework for OAuth support. I will be working on the User accounts, so I plan to dive into the REST framework a bit more to see if the authentication modules will be useful for that. Since the Django REST framework is supposed to make CRUD operations easier to design in Django, our group may find that we will benefit from using Django REST Framework as we continue to develop our project over the next several weeks.